diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/AnalystReports/Viskit.ico b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/AnalystReports/Viskit.ico
new file mode 100644
index 0000000000000000000000000000000000000000..c9d5908c91e327600695feac75e406ee99fbb30a
Binary files /dev/null and b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/AnalystReports/Viskit.ico differ
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/Assemblies/dis7/ArrivalProcessOpenDis7Assembly.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/Assemblies/dis7/ArrivalProcessOpenDis7Assembly.xml
new file mode 100644
index 0000000000000000000000000000000000000000..597e3466d1cbf16277106c2a88056fdaf381ce4b
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/Assemblies/dis7/ArrivalProcessOpenDis7Assembly.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<SimkitAssembly name="ArrivalProcessOpenDis7Assembly" version="1.0" package="dis7" xsi:noNamespaceSchemaLocation="http://diana.nps.edu/Simkit/assembly.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <SimEntity name="aPOpenDis7" type="dis7.ArrivalProcessOpenDis7" description="">
+        <TerminalParameter name="address" value="" type="java.lang.String"/>
+        <TerminalParameter name="port" value="-1" type="int"/>
+        <FactoryParameter factory="simkit.random.RandomVariateFactory" type="simkit.random.RandomVariate">
+            <TerminalParameter name="" value="Exponential" type="String"/>
+            <TerminalParameter name="" value="1.7" type="Object..."/>
+        </FactoryParameter>
+        <Coordinate x="220.0" y="210.0"/>
+    </SimEntity>
+    <PropertyChangeListener name="numArrivalsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description="">
+        <TerminalParameter name="p[0] : " value="N" type="java.lang.String"/>
+        <Coordinate x="220.0" y="330.0"/>
+    </PropertyChangeListener>
+    <PropertyChangeListener name="numEntityCreationsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description="">
+        <TerminalParameter name="p[0] : " value="C" type="java.lang.String"/>
+        <Coordinate x="220.0" y="80.0"/>
+    </PropertyChangeListener>
+    <PropertyChangeListener name="numEntityRemovalsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description="">
+        <TerminalParameter name="p[0] : " value="R" type="java.lang.String"/>
+        <Coordinate x="380.0" y="210.0"/>
+    </PropertyChangeListener>
+    <PropertyChangeListenerConnection property="N" listener="numArrivalsStat" source="aPOpenDis7" description=""/>
+    <PropertyChangeListenerConnection property="C" listener="numEntityCreationsStat" source="aPOpenDis7" description=""/>
+    <PropertyChangeListenerConnection property="R" listener="numEntityRemovalsStat" source="aPOpenDis7" description=""/>
+    <Output entity="aPOpenDis7"/>
+    <Schedule stopTime="100.0" verbose="false" saveReplicationData="false"/>
+</SimkitAssembly>
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/Assemblies/dis7/SimpleServerDis7Assembly.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/Assemblies/dis7/SimpleServerDis7Assembly.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e8bee49d22ef6f7f0a4f4f60c5405e64abe88580
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/Assemblies/dis7/SimpleServerDis7Assembly.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<SimkitAssembly name="SimpleServerDis7Assembly" version="1.0" package="dis7" xsi:noNamespaceSchemaLocation="http://diana.nps.edu/Simkit/assembly.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <SimEntity name="arrivalProcessOpenDis7" type="SimkitOpenDis7Examples.ArrivalProcessOpenDis7" description="">
+        <FactoryParameter factory="simkit.random.RandomVariateFactory" type="simkit.random.RandomVariate">
+            <TerminalParameter name="" value="Uniform" type="String"/>
+            <TerminalParameter name="" value="0.9, 2.2" type="Object..."/>
+        </FactoryParameter>
+        <Coordinate x="90.0" y="200.0"/>
+    </SimEntity>
+    <SimEntity name="simpleServer" type="SimkitOpenDis7Examples.SimpleServer" description="">
+        <TerminalParameter name="p[0] : " value="1" type="int"/>
+        <FactoryParameter factory="simkit.random.RandomVariateFactory" type="simkit.random.RandomVariate">
+            <TerminalParameter name="" value="Gamma" type="String"/>
+            <TerminalParameter name="" value="1.7, 1.8" type="Object..."/>
+        </FactoryParameter>
+        <Coordinate x="310.0" y="200.0"/>
+    </SimEntity>
+    <PropertyChangeListener name="numInQueueStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="true" countStatistics="false" description="">
+        <TerminalParameter name="p[0] : " value="numberInQueue" type="java.lang.String"/>
+        <Coordinate x="310.0" y="80.0"/>
+    </PropertyChangeListener>
+    <PropertyChangeListener name="numAvailServersStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="true" countStatistics="false" description="">
+        <TerminalParameter name="p[0] : " value="numberAvailableServers" type="java.lang.String"/>
+        <Coordinate x="510.0" y="200.0"/>
+    </PropertyChangeListener>
+    <PropertyChangeListener name="numArrivalsStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description="">
+        <TerminalParameter name="p[0] : " value="numberArrivals" type="java.lang.String"/>
+        <Coordinate x="90.0" y="80.0"/>
+    </PropertyChangeListener>
+    <PropertyChangeListener name="numServedStat" type="simkit.stat.SimpleStatsTimeVarying" mode="replicationStat" meanStatistics="false" countStatistics="true" description="">
+        <TerminalParameter name="p[0] : " value="numberServed" type="java.lang.String"/>
+        <Coordinate x="310.0" y="350.0"/>
+    </PropertyChangeListener>
+    <SimEventListenerConnection listener="simpleServer" source="arrivalProcessOpenDis7"/>
+    <PropertyChangeListenerConnection property="numberInQueue" listener="numInQueueStat" source="simpleServer" description=""/>
+    <PropertyChangeListenerConnection property="numberAvailableServers" listener="numAvailServersStat" source="simpleServer" description=""/>
+    <PropertyChangeListenerConnection property="numberArrivals" listener="numArrivalsStat" source="arrivalProcessOpenDis7" description=""/>
+    <PropertyChangeListenerConnection property="numberServed" listener="numServedStat" source="simpleServer" description=""/>
+    <Output entity="arrivalProcessOpenDis7"/>
+    <Output entity="simpleServer"/>
+    <Schedule stopTime="100000.0" verbose="false" saveReplicationData="false"/>
+</SimkitAssembly>
\ No newline at end of file
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/ArrivalProcessOpenDis7.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/ArrivalProcessOpenDis7.xml
new file mode 100644
index 0000000000000000000000000000000000000000..54be5a93d6e8dd687c2998dae882ab8f3607b2b5
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/ArrivalProcessOpenDis7.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<SimEntity name="ArrivalProcessOpenDis7" package="dis7" version="1.0" author="terry" extend="SimkitOpenDis7Examples.run.OpenDisHelper" xsi:noNamespaceSchemaLocation="http://diana.nps.edu/Simkit/simkit.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <Parameter name="address" type="java.lang.String">
+        <Comment>An other than default network address</Comment>
+    </Parameter>
+    <Parameter name="port" type="int">
+        <Comment>An other than default network port</Comment>
+    </Parameter>
+    <Parameter name="tA" type="simkit.random.RandomVariate">
+        <Comment>Inter arrival time</Comment>
+    </Parameter>
+    <StateVariable name="N" type="int">
+        <Comment>Number of arrivals</Comment>
+    </StateVariable>
+    <StateVariable name="C" type="int">
+        <Comment>Number of entity creations</Comment>
+    </StateVariable>
+    <StateVariable name="R" type="int">
+        <Comment>Number of entity removals</Comment>
+    </StateVariable>
+    <Event name="Run" description="This event is fired first to facilitate initialization of all simulation state variables">
+        <Comment>Initialize all state variables</Comment>
+        <StateTransition state="N">
+            <Assignment value="0"/>
+        </StateTransition>
+        <StateTransition state="C">
+            <Assignment value="1"/>
+        </StateTransition>
+        <StateTransition state="R">
+            <Assignment value="0"/>
+        </StateTransition>
+        <Schedule delay="tA.generate()" event="Arrival" priority="DEFAULT"/>
+        <Code></Code>
+        <Coordinate x="60.0" y="60.0"/>
+    </Event>
+    <Event name="Arrival">
+        <Comment>Tallys the number of arrivals and schedules future arrival events with time tA</Comment>
+        <StateTransition state="N">
+            <Assignment value="N + 1"/>
+        </StateTransition>
+        <Schedule delay="tA.generate()" event="Arrival" priority="DEFAULT"/>
+        <Code>int everyTen = 10;
+int oldC = C;
+int oldR = R;
+
+if ((N % everyTen) == 0) {
+    disChannel.removeEntity(entityStatePdu_1.getEntityID());
+    firePropertyChange("R", oldR, R+1);
+} else {
+    disChannel.addEntity(entityStatePdu_1.getEntityID());
+    firePropertyChange("C", oldC, C+1);
+}</Code>
+        <Coordinate x="270.0" y="50.0"/>
+    </Event>
+    <Code></Code>
+</SimEntity>
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/SimpleServer.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/SimpleServer.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3af224191577a983e0365b2123b938732da52e8e
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/SimpleServer.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<SimEntity name="SimpleServer" package="dis7" version="0.1" extend="SimEntityBase" xsi:noNamespaceSchemaLocation="http://diana.nps.edu/Simkit/simkit.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <Parameter name="serviceTime" type="simkit.random.RandomVariate"/>
+    <Parameter name="totalNumberServers" type="int"/>
+    <StateVariable name="numberInQueue" type="int"/>
+    <StateVariable name="numberAvailableServers" type="int"/>
+    <Event name="Run">
+        <StateTransition state="numberInQueue">
+            <Assignment value="0"/>
+        </StateTransition>
+        <StateTransition state="numberAvailableServers">
+            <Assignment value="totalNumberServers"/>
+        </StateTransition>
+        <Coordinate x="20.0" y="30.0"/>
+    </Event>
+    <Event name="Arrival">
+        <StateTransition state="numberInQueue">
+            <Assignment value="numberInQueue + 1"/>
+        </StateTransition>
+        <Schedule delay="0.0" event="StartService" condition="numberAvailableServers &gt; 0" priority="DEFAULT">
+            <Comment></Comment>
+            <EdgeParameter value="numberAvailableServers"/>
+        </Schedule>
+        <Coordinate x="20.0" y="130.0"/>
+    </Event>
+    <Event name="StartService">
+        <Comment></Comment>
+        <Argument name="arg_0" type="int"/>
+        <StateTransition state="numberInQueue">
+            <Assignment value="numberInQueue - 1"/>
+        </StateTransition>
+        <StateTransition state="numberAvailableServers">
+            <Assignment value="numberAvailableServers - 1"/>
+        </StateTransition>
+        <Schedule delay="serviceTime.generate()" event="EndService" priority="DEFAULT"/>
+        <Code>System.out.println("numberAvailableServers"+arg_0);</Code>
+        <Coordinate x="160.0" y="130.0"/>
+    </Event>
+    <Event name="EndService">
+        <StateTransition state="numberAvailableServers">
+            <Assignment value="numberAvailableServers + 1"/>
+        </StateTransition>
+        <Schedule delay="0.0" event="StartService" condition="numberInQueue &gt; 0" priority="HIGH"/>
+        <Coordinate x="330.0" y="130.0"/>
+    </Event>
+</SimEntity>
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/classes/dis7/SimpleServer.class b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/classes/dis7/SimpleServer.class
new file mode 100644
index 0000000000000000000000000000000000000000..c41ce06056b3119b15c53eda820beaae2193b9f6
Binary files /dev/null and b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/classes/dis7/SimpleServer.class differ
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/ArrivalProcessOpenDis7.java b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/ArrivalProcessOpenDis7.java
new file mode 100644
index 0000000000000000000000000000000000000000..9a7dc529eb783fb1670e862bcabe1b2b6b248513
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/ArrivalProcessOpenDis7.java
@@ -0,0 +1,113 @@
+package dis7;
+
+// Standard library imports
+import java.util.*;
+
+// Application specific imports
+import simkit.*;
+import simkit.random.*;
+
+public class ArrivalProcessOpenDis7 extends SimkitOpenDis7Examples.run.OpenDisHelper {
+
+    /* Simulation Parameters */
+
+    /* inherited parameter java.lang.String address */
+
+    /* inherited parameter int port */
+
+    /** Inter arrival time */
+    private simkit.random.RandomVariate tA;
+
+    /* Simulation State Variables */
+
+    /** Number of arrivals */
+    protected int N;
+
+    /** Number of entity creations */
+    protected int C;
+
+    /** Number of entity removals */
+    protected int R;
+
+    @viskit.ParameterMap (
+        names = {"address",
+            "port",
+            "tA"},
+        types = {"java.lang.String",
+            "int",
+            "simkit.random.RandomVariate"}
+    )
+
+    public ArrivalProcessOpenDis7(java.lang.String address,
+            int port,
+            simkit.random.RandomVariate tA) {
+        super(address, port);
+        setTA(tA);
+    }
+
+    @Override
+    public void reset() {
+        super.reset();
+        N = 0;
+        C = 1;
+        R = 0;
+    }
+
+    /** Bootstraps the first simulation event */
+    public void doRun() {
+
+        firePropertyChange("N", getN());
+        firePropertyChange("C", getC());
+        firePropertyChange("R", getR());
+
+        waitDelay("Arrival", tA.generate(), Priority.DEFAULT);
+    }
+
+    public void doArrival() {
+
+        /* Code insertion for Event Arrival */
+        int everyTen = 10;
+        int oldC = C;
+        int oldR = R;
+        
+        if ((N % everyTen) == 0) {
+            disChannel.removeEntity(entityStatePdu_1.getEntityID());
+            firePropertyChange("R", oldR, R+1);
+        } else {
+            disChannel.addEntity(entityStatePdu_1.getEntityID());
+            firePropertyChange("C", oldC, C+1);
+        }
+        /* End Code insertion */
+
+        /* StateTransition for N */
+        int _old_N = getN();
+        N = N + 1;
+        firePropertyChange("N", _old_N, getN());
+
+        waitDelay("Arrival", tA.generate(), Priority.DEFAULT);
+    }
+
+    public final void setTA(simkit.random.RandomVariate tA) {
+        this.tA = tA;
+    }
+
+    public simkit.random.RandomVariate getTA() {
+        return tA;
+    }
+
+    public int getN() {
+        return N;
+    }
+
+    public int getC() {
+        return C;
+    }
+
+    public int getR() {
+        return R;
+    }
+
+    /* Inserted code for ArrivalProcessOpenDis7 */
+    
+    /* End inserted code */
+}
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/SimpleServer.java b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/SimpleServer.java
new file mode 100644
index 0000000000000000000000000000000000000000..f253f8f9844f43b413bbec7d0d13f60bab4e41c8
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/SimpleServer.java
@@ -0,0 +1,127 @@
+package dis7;
+
+// Standard library imports
+import java.util.*;
+
+// Application specific imports
+import simkit.*;
+import simkit.random.*;
+
+public class SimpleServer extends SimEntityBase {
+
+    /* Simulation Parameters */
+
+    private simkit.random.RandomVariate serviceTime;
+
+    private int totalNumberServers;
+
+    /* Simulation State Variables */
+
+    protected int numberInQueue;
+
+    protected int numberAvailableServers;
+
+    @viskit.ParameterMap (
+        names = {"serviceTime",
+            "totalNumberServers"},
+        types = {"simkit.random.RandomVariate",
+            "int"}
+    )
+
+    /** Creates a new default instance of SimpleServer */
+    public SimpleServer() {
+    }
+
+    public SimpleServer(simkit.random.RandomVariate serviceTime,
+            int totalNumberServers) {
+        setServiceTime(serviceTime);
+        setTotalNumberServers(totalNumberServers);
+    }
+
+    @Override
+    public void reset() {
+        super.reset();
+        numberInQueue = 0;
+        numberAvailableServers = totalNumberServers;
+    }
+
+    /** Bootstraps the first simulation event */
+    public void doRun() {
+
+        firePropertyChange("numberInQueue", getNumberInQueue());
+        firePropertyChange("numberAvailableServers", getNumberAvailableServers());
+
+    }
+
+    public void doArrival() {
+
+        /* StateTransition for numberInQueue */
+        int _old_NumberInQueue = getNumberInQueue();
+        numberInQueue = numberInQueue + 1;
+        firePropertyChange("numberInQueue", _old_NumberInQueue, getNumberInQueue());
+
+        if (numberAvailableServers > 0) {
+            waitDelay("StartService", 0.0, Priority.DEFAULT, (Object) numberAvailableServers);
+        }
+    }
+
+    public void doStartService(int arg_0) {
+
+        /* Code insertion for Event StartService */
+        System.out.println("numberAvailableServers"+arg_0);
+        /* End Code insertion */
+
+        /* StateTransition for numberInQueue */
+        int _old_NumberInQueue = getNumberInQueue();
+        numberInQueue = numberInQueue - 1;
+        firePropertyChange("numberInQueue", _old_NumberInQueue, getNumberInQueue());
+
+        /* StateTransition for numberAvailableServers */
+        int _old_NumberAvailableServers = getNumberAvailableServers();
+        numberAvailableServers = numberAvailableServers - 1;
+        firePropertyChange("numberAvailableServers", _old_NumberAvailableServers, getNumberAvailableServers());
+
+        waitDelay("EndService", serviceTime.generate(), Priority.DEFAULT);
+    }
+
+    public void doEndService() {
+
+        /* StateTransition for numberAvailableServers */
+        int _old_NumberAvailableServers = getNumberAvailableServers();
+        numberAvailableServers = numberAvailableServers + 1;
+        firePropertyChange("numberAvailableServers", _old_NumberAvailableServers, getNumberAvailableServers());
+
+        if (numberInQueue > 0) {
+            waitDelay("StartService", 0.0, Priority.HIGH);
+        }
+    }
+
+    public final void setServiceTime(simkit.random.RandomVariate serviceTime) {
+        this.serviceTime = serviceTime;
+    }
+
+    public simkit.random.RandomVariate getServiceTime() {
+        return serviceTime;
+    }
+
+    public final void setTotalNumberServers(int totalNumberServers) {
+        this.totalNumberServers = totalNumberServers;
+    }
+
+    public int getTotalNumberServers() {
+        return totalNumberServers;
+    }
+
+    public int getNumberInQueue() {
+        return numberInQueue;
+    }
+
+    public int getNumberAvailableServers() {
+        return numberAvailableServers;
+    }
+
+    @Override
+    public String toString() {
+        return getName();
+    }
+}
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/SimpleServerDis7Assembly.java b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/SimpleServerDis7Assembly.java
new file mode 100644
index 0000000000000000000000000000000000000000..6ee77507af96bf9d5ddb2cc1156677dae707a897
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/src/dis7/SimpleServerDis7Assembly.java
@@ -0,0 +1,111 @@
+package dis7;
+
+public class SimpleServerDis7Assembly extends viskit.assembly.ViskitAssembly {
+
+    public SimpleServerDis7Assembly() {
+        super();
+        setStopTime(100000.0);
+        setVerbose(false);
+        setNumberReplications(1);
+        setPrintReplicationReports(true);
+        setPrintSummaryReport(true);
+        setSaveReplicationData(false);
+    }
+
+    @Override
+    protected void createSimEntities() {
+
+        addSimEntity( "arrivalProcessOpenDis7",
+            new SimkitOpenDis7Examples.ArrivalProcessOpenDis7(
+                simkit.random.RandomVariateFactory.getInstance(
+                    "Uniform",
+                    0.9, 2.2
+                )
+            )
+        );
+
+        addSimEntity( "simpleServer",
+            new SimkitOpenDis7Examples.SimpleServer(
+                1,
+                simkit.random.RandomVariateFactory.getInstance(
+                    "Gamma",
+                    1.7, 1.8
+                )
+            )
+        );
+
+        addSimEventListenerConnection("simpleServer", "arrivalProcessOpenDis7");
+
+        super.createSimEntities();
+    }
+
+    @Override
+    public void createPropertyChangeListeners() {
+        addPropertyChangeListenerConnection("numInQueueStat", "numberInQueue", "simpleServer");
+
+        addPropertyChangeListenerConnection("numAvailServersStat", "numberAvailableServers", "simpleServer");
+
+        addPropertyChangeListenerConnection("numArrivalsStat", "numberArrivals", "arrivalProcessOpenDis7");
+
+        addPropertyChangeListenerConnection("numServedStat", "numberServed", "simpleServer");
+
+        super.createPropertyChangeListeners();
+    }
+
+    @Override
+    public void createReplicationStats() {
+        addReplicationStats("numInQueueStat",
+            new simkit.stat.SimpleStatsTimeVarying(
+                "numberInQueue"
+            )
+        );
+
+        addReplicationStatsListenerConnection("numInQueueStat", "numberInQueue", "simpleServer");
+
+        addReplicationStats("numAvailServersStat",
+            new simkit.stat.SimpleStatsTimeVarying(
+                "numberAvailableServers"
+            )
+        );
+
+        addReplicationStatsListenerConnection("numAvailServersStat", "numberAvailableServers", "simpleServer");
+
+        addReplicationStats("numArrivalsStat",
+            new simkit.stat.SimpleStatsTimeVarying(
+                "numberArrivals"
+            )
+        );
+
+        addReplicationStatsListenerConnection("numArrivalsStat", "numberArrivals", "arrivalProcessOpenDis7");
+
+        addReplicationStats("numServedStat",
+            new simkit.stat.SimpleStatsTimeVarying(
+                "numberServed"
+            )
+        );
+
+        addReplicationStatsListenerConnection("numServedStat", "numberServed", "simpleServer");
+
+        super.createReplicationStats();
+    }
+
+    @Override
+    public void createDesignPointStats() {
+        super.createDesignPointStats();
+    }
+
+    @Override
+    public void printInfo() {
+        System.out.println();
+        System.out.println("Entity Details");
+        System.out.println("--------------");
+        System.out.println(getSimEntityByName("arrivalProcessOpenDis7"));
+        System.out.println(getSimEntityByName("simpleServer"));
+        System.out.println("--------------");
+    }
+
+    public static void main(String[] args) {
+        SimpleServerDis7Assembly simpleServerDis7Assembly = new SimpleServerDis7Assembly();
+        new Thread(simpleServerDis7Assembly).start();
+    }
+}
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/viskitProject.xml b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/viskitProject.xml
new file mode 100644
index 0000000000000000000000000000000000000000..27d7970fdf1cec7807f39e0da72b548b18fc6584
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/viskitProject.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViskitProject name="BavlsikViskitOpenDis7">
+  <AnalystReports name="AnalystReports" />
+  <AssembliesDirectory name="Assemblies" />
+  <EventGraphsDirectory name="EventGraphs" />
+  <BuildDirectory name="build">
+    <ClassesDirectory name="classes" />
+    <SourceDirectory name="src" />
+  </BuildDirectory>
+  <DistDirectory name="dist" />
+  <LibDirectory name="lib" />
+  <Project name="BavlsikViskitOpenDis7" />
+  <Cached>
+    <EventGraphs xml="C:/Users/tbavl/Documents/NetworkedGraphicsMV3500/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/SimpleServer.xml" />
+    <EventGraphs class="C:/Users/tbavl/Documents/NetworkedGraphicsMV3500/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/build/classes/dis7/SimpleServer.class" digest="-679a97428288e5d644ede38d9ac1dfaa" xml="C:/Users/tbavl/Documents/NetworkedGraphicsMV3500/assignments/src/MV3500Cohort2024JulySeptember/projects/Bavlsik/BavlsikViskitOpenDis7/EventGraphs/dis7/SimpleServer.xml" />
+  </Cached>
+</ViskitProject>
+