diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 01 - The Arrival Process.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 01 - The Arrival Process.docx
new file mode 100644
index 0000000000000000000000000000000000000000..3d2e31d90e7194186741fdeba8c9d90e4b4c124f
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 01 - The Arrival Process.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 02 - The Multiple Server Queue.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 02 - The Multiple Server Queue.docx
new file mode 100644
index 0000000000000000000000000000000000000000..5d9064884772fc4e5b51ddc8e3bae287f389842e
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 02 - The Multiple Server Queue.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 03 - Server with Reneges.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 03 - Server with Reneges.docx
new file mode 100644
index 0000000000000000000000000000000000000000..7bdfa0720f6358104b2994011af683807046ca6b
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 03 - Server with Reneges.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 04 - Transfer Line.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 04 - Transfer Line.docx
new file mode 100644
index 0000000000000000000000000000000000000000..10fec58e9c034aff50433e40923d44bb61587901
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 04 - Transfer Line.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 05 - Two Crane Berths.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 05 - Two Crane Berths.docx
new file mode 100644
index 0000000000000000000000000000000000000000..a91574dcc69242c82303703ba899025c83314656
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 05 - Two Crane Berths.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 06 - Movers and MoverManagers.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 06 - Movers and MoverManagers.docx
new file mode 100644
index 0000000000000000000000000000000000000000..c174d84d220e0308afa431f37ea3fe0707d20350
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/ComputerAssignment 06 - Movers and MoverManagers.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Sample Electronic Submission.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Sample Electronic Submission.docx
new file mode 100644
index 0000000000000000000000000000000000000000..4a85437723f8f8d6b527feddb80509636fbe32eb
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Sample Electronic Submission.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Sample Written Submission.pdf b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Sample Written Submission.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..8592c05ebc09a7307df99871ce271e77b91f75b4
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Sample Written Submission.pdf differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Simple Movers Output.txt b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Simple Movers Output.txt
new file mode 100644
index 0000000000000000000000000000000000000000..85640332d61f945fe8b26935d1fa6d2e6feb1865
--- /dev/null
+++ b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/Simple Movers Output.txt	
@@ -0,0 +1,411 @@
+SimpleMover.1
+	maxSpeed = 30.0
+	initialLocation = Point2D.Double[0.0, 250.0]
+SimplePathMoverManager.2
+	path[0] = Point2D.Double[200.0, 0.0]
+	path[1] = Point2D.Double[-200.0, 250.0]
+	path[2] = Point2D.Double[200.0, 250.0]
+	path[3] = Point2D.Double[0.0, 250.0]
+	startOnRun = true
+SimpleMover.3
+	maxSpeed = 40.0
+	initialLocation = Point2D.Double[0.0, 150.0]
+SimplePatrolMoverManager.4
+	path[0] = Point2D.Double[0.0, 300.0]
+	path[1] = Point2D.Double[0.0, -100.0]
+	startOnRun = true
+SimpleMover.5
+	maxSpeed = 50.0
+	initialLocation = Point2D.Double[0.0, 0.0]
+SimpleRandomMoverManager.6
+	startOnRun = true
+	coordinateGenerator[0] = Uniform (-250.000, 250.000)
+	coordinateGenerator[1] = Uniform (-100.000, 300.000)
+** Event List 0 -- Starting Simulation **
+0.0000	Run	 <SimpleMover.1>
+0.0000	Run	 <SimplePathMoverManager.2>
+0.0000	Run	 <SimpleMover.3>
+0.0000	Run	 <SimplePatrolMoverManager.4>
+0.0000	Run	 <SimpleMover.5>
+0.0000	Run	 <SimpleRandomMoverManager.6>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List -- Starting Simulation **
+
+<SimpleMover.1> lastStopLocation: Point2D.Double[0.0, 250.0]
+<SimpleMover.1> velocity: Point2D.Double[0.0, 0.0]
+<SimpleMover.1> destination: Point2D.Double[NaN, NaN]
+<SimpleMover.1> startMoveTime: 0.0
+Time: 0.0000	CurrentEvent: Run [1]
+** Event List 0 --  **
+0.0000	Run	 <SimplePathMoverManager.2>
+0.0000	Run	 <SimpleMover.3>
+0.0000	Run	 <SimplePatrolMoverManager.4>
+0.0000	Run	 <SimpleMover.5>
+0.0000	Run	 <SimpleRandomMoverManager.6>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimplePathMoverManager.2> next: 0
+Time: 0.0000	CurrentEvent: Run [2]
+** Event List 0 --  **
+0.0000	Run	 <SimpleMover.3>
+0.0000	Run	 <SimplePatrolMoverManager.4>
+0.0000	Run	 <SimpleMover.5>
+0.0000	Run	 <SimpleRandomMoverManager.6>
+0.0000	Start	 <SimplePathMoverManager.2>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.3> lastStopLocation: Point2D.Double[0.0, 150.0]
+<SimpleMover.3> velocity: Point2D.Double[0.0, 0.0]
+<SimpleMover.3> destination: Point2D.Double[NaN, NaN]
+<SimpleMover.3> startMoveTime: 0.0
+Time: 0.0000	CurrentEvent: Run [3]
+** Event List 0 --  **
+0.0000	Run	 <SimplePatrolMoverManager.4>
+0.0000	Run	 <SimpleMover.5>
+0.0000	Run	 <SimpleRandomMoverManager.6>
+0.0000	Start	 <SimplePathMoverManager.2>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimplePatrolMoverManager.4> next: 0
+Time: 0.0000	CurrentEvent: Run [4]
+** Event List 0 --  **
+0.0000	Run	 <SimpleMover.5>
+0.0000	Run	 <SimpleRandomMoverManager.6>
+0.0000	Start	 <SimplePathMoverManager.2>
+0.0000	Start	 <SimplePatrolMoverManager.4>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 0.0000	CurrentEvent: Run [5]
+** Event List 0 --  **
+0.0000	Run	 <SimpleRandomMoverManager.6>
+0.0000	Start	 <SimplePathMoverManager.2>
+0.0000	Start	 <SimplePatrolMoverManager.4>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 0.0000	CurrentEvent: Run [6]
+** Event List 0 --  **
+0.0000	Start	 <SimplePathMoverManager.2>
+0.0000	Start	 <SimplePatrolMoverManager.4>
+0.0000	Start	 <SimpleRandomMoverManager.6>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 0.0000	CurrentEvent: Start [1]
+** Event List 0 --  **
+0.0000	Start	 <SimplePatrolMoverManager.4>
+0.0000	Start	 <SimpleRandomMoverManager.6>
+0.0000	MoveTo 	{Point2D.Double[200.0, 0.0]}	 <SimplePathMoverManager.2>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 0.0000	CurrentEvent: Start [2]
+** Event List 0 --  **
+0.0000	Start	 <SimpleRandomMoverManager.6>
+0.0000	MoveTo 	{Point2D.Double[200.0, 0.0]}	 <SimplePathMoverManager.2>
+0.0000	MoveTo 	{Point2D.Double[0.0, 300.0]}	 <SimplePatrolMoverManager.4>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 0.0000	CurrentEvent: Start [3]
+** Event List 0 --  **
+0.0000	MoveTo 	{Point2D.Double[200.0, 0.0]}	 <SimplePathMoverManager.2>
+0.0000	MoveTo 	{Point2D.Double[0.0, 300.0]}	 <SimplePatrolMoverManager.4>
+0.0000	MoveTo 	{Point2D.Double[158.66502991411835, 299.62435979396105]}	 <SimpleRandomMoverManager.6>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.1> destination: Point2D.Double[NaN, NaN] => Point2D.Double[200.0, 0.0]
+Time: 0.0000	CurrentEvent: MoveTo 	{Point2D.Double[200.0, 0.0]} [1]
+** Event List 0 --  **
+0.0000	MoveTo 	{Point2D.Double[0.0, 300.0]}	 <SimplePatrolMoverManager.4>
+0.0000	MoveTo 	{Point2D.Double[158.66502991411835, 299.62435979396105]}	 <SimpleRandomMoverManager.6>
+0.0000	StartMove 	{SimpleMover.1 (0.000, 250.000) [0.000, 0.000]}	 <SimpleMover.1>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.3> destination: Point2D.Double[NaN, NaN] => Point2D.Double[0.0, 300.0]
+Time: 0.0000	CurrentEvent: MoveTo 	{Point2D.Double[0.0, 300.0]} [2]
+** Event List 0 --  **
+0.0000	MoveTo 	{Point2D.Double[158.66502991411835, 299.62435979396105]}	 <SimpleRandomMoverManager.6>
+0.0000	StartMove 	{SimpleMover.1 (0.000, 250.000) [0.000, 0.000]}	 <SimpleMover.1>
+0.0000	StartMove 	{SimpleMover.3 (0.000, 150.000) [0.000, 0.000]}	 <SimpleMover.3>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 0.0000	CurrentEvent: MoveTo 	{Point2D.Double[158.66502991411835, 299.62435979396105]} [3]
+** Event List 0 --  **
+0.0000	StartMove 	{SimpleMover.1 (0.000, 250.000) [0.000, 0.000]}	 <SimpleMover.1>
+0.0000	StartMove 	{SimpleMover.3 (0.000, 150.000) [0.000, 0.000]}	 <SimpleMover.3>
+0.0000	StartMove 	{SimpleMover.5 (0.000, 0.000) [0.000, 0.000]}	 <SimpleMover.5>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.1> startMoveTime: 0.0 => 0.0
+<SimpleMover.1> velocity: Point2D.Double[0.0, 0.0] => Point2D.Double[18.74085142663273, -23.426064283290913]
+Time: 0.0000	CurrentEvent: StartMove 	{SimpleMover.1 (0.000, 250.000) [18.741, -23.426]} [1]
+** Event List 0 --  **
+0.0000	StartMove 	{SimpleMover.3 (0.000, 150.000) [0.000, 0.000]}	 <SimpleMover.3>
+0.0000	StartMove 	{SimpleMover.5 (0.000, 0.000) [0.000, 0.000]}	 <SimpleMover.5>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (0.000, 250.000) [18.741, -23.426]}	 <SimpleMover.1>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.3> startMoveTime: 0.0 => 0.0
+<SimpleMover.3> velocity: Point2D.Double[0.0, 0.0] => Point2D.Double[0.0, 40.0]
+Time: 0.0000	CurrentEvent: StartMove 	{SimpleMover.3 (0.000, 150.000) [0.000, 40.000]} [2]
+** Event List 0 --  **
+0.0000	StartMove 	{SimpleMover.5 (0.000, 0.000) [0.000, 0.000]}	 <SimpleMover.5>
+3.7500	EndMove 	{SimpleMover.3 (0.000, 150.000) [0.000, 40.000]}	 <SimpleMover.3>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (0.000, 250.000) [18.741, -23.426]}	 <SimpleMover.1>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 0.0000	CurrentEvent: StartMove 	{SimpleMover.5 (0.000, 0.000) [23.399, 44.187]} [3]
+** Event List 0 --  **
+3.7500	EndMove 	{SimpleMover.3 (0.000, 150.000) [0.000, 40.000]}	 <SimpleMover.3>
+6.7808	EndMove 	{SimpleMover.5 (0.000, 0.000) [23.399, 44.187]}	 <SimpleMover.5>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (0.000, 250.000) [18.741, -23.426]}	 <SimpleMover.1>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.3> lastStopLocation: Point2D.Double[0.0, 150.0] => Point2D.Double[0.0, 300.0]
+<SimpleMover.3> velocity: Point2D.Double[0.0, 40.0] => Point2D.Double[0.0, 0.0]
+<SimplePatrolMoverManager.4> next: 0 => 1
+Time: 3.7500	CurrentEvent: EndMove 	{SimpleMover.3 (0.000, 300.000) [0.000, 0.000]} [1]
+** Event List 0 --  **
+3.7500	MoveTo 	{Point2D.Double[0.0, -100.0]}	 <SimplePatrolMoverManager.4>
+6.7808	EndMove 	{SimpleMover.5 (87.746, 165.701) [23.399, 44.187]}	 <SimpleMover.5>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (70.278, 162.152) [18.741, -23.426]}	 <SimpleMover.1>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.3> destination: Point2D.Double[0.0, 300.0] => Point2D.Double[0.0, -100.0]
+Time: 3.7500	CurrentEvent: MoveTo 	{Point2D.Double[0.0, -100.0]} [4]
+** Event List 0 --  **
+3.7500	StartMove 	{SimpleMover.3 (0.000, 300.000) [0.000, 0.000]}	 <SimpleMover.3>
+6.7808	EndMove 	{SimpleMover.5 (87.746, 165.701) [23.399, 44.187]}	 <SimpleMover.5>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (70.278, 162.152) [18.741, -23.426]}	 <SimpleMover.1>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.3> startMoveTime: 0.0 => 3.75
+<SimpleMover.3> velocity: Point2D.Double[0.0, 0.0] => Point2D.Double[0.0, -40.0]
+Time: 3.7500	CurrentEvent: StartMove 	{SimpleMover.3 (0.000, 300.000) [0.000, -40.000]} [4]
+** Event List 0 --  **
+6.7808	EndMove 	{SimpleMover.5 (87.746, 165.701) [23.399, 44.187]}	 <SimpleMover.5>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (70.278, 162.152) [18.741, -23.426]}	 <SimpleMover.1>
+13.7500	EndMove 	{SimpleMover.3 (0.000, 300.000) [0.000, -40.000]}	 <SimpleMover.3>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 6.7808	CurrentEvent: EndMove 	{SimpleMover.5 (158.665, 299.624) [0.000, 0.000]} [2]
+** Event List 0 --  **
+6.7808	MoveTo 	{Point2D.Double[5.1771862199530005, -47.38683607429266]}	 <SimpleRandomMoverManager.6>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (127.079, 91.152) [18.741, -23.426]}	 <SimpleMover.1>
+13.7500	EndMove 	{SimpleMover.3 (0.000, 178.767) [0.000, -40.000]}	 <SimpleMover.3>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 6.7808	CurrentEvent: MoveTo 	{Point2D.Double[5.1771862199530005, -47.38683607429266]} [5]
+** Event List 0 --  **
+6.7808	StartMove 	{SimpleMover.5 (158.665, 299.624) [0.000, 0.000]}	 <SimpleMover.5>
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (127.079, 91.152) [18.741, -23.426]}	 <SimpleMover.1>
+13.7500	EndMove 	{SimpleMover.3 (0.000, 178.767) [0.000, -40.000]}	 <SimpleMover.3>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 6.7808	CurrentEvent: StartMove 	{SimpleMover.5 (158.665, 299.624) [-20.226, -45.727]} [5]
+** Event List 0 --  **
+10.0000	Stop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (127.079, 91.152) [18.741, -23.426]}	 <SimpleMover.1>
+13.7500	EndMove 	{SimpleMover.3 (0.000, 178.767) [0.000, -40.000]}	 <SimpleMover.3>
+14.3697	EndMove 	{SimpleMover.5 (158.665, 299.624) [-20.226, -45.727]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 10.0000	CurrentEvent: Stop [1]
+** Event List 0 --  **
+10.0000	OrderStop	 <SimplePatrolMoverManager.4>
+10.6719	EndMove 	{SimpleMover.1 (187.409, 15.739) [18.741, -23.426]}	 <SimpleMover.1>
+13.7500	EndMove 	{SimpleMover.3 (0.000, 50.000) [0.000, -40.000]}	 <SimpleMover.3>
+14.3697	EndMove 	{SimpleMover.5 (93.556, 152.423) [-20.226, -45.727]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+Time: 10.0000	CurrentEvent: OrderStop [1]
+** Event List 0 --  **
+10.0000	Stop 	{SimpleMover.3 (0.000, 50.000) [0.000, -40.000]}	 <SimpleMover.3>
+10.6719	EndMove 	{SimpleMover.1 (187.409, 15.739) [18.741, -23.426]}	 <SimpleMover.1>
+13.7500	EndMove 	{SimpleMover.3 (0.000, 50.000) [0.000, -40.000]}	 <SimpleMover.3>
+14.3697	EndMove 	{SimpleMover.5 (93.556, 152.423) [-20.226, -45.727]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.3> lastStopLocation: Point2D.Double[0.0, 300.0] => Point2D.Double[0.0, 50.0]
+<SimpleMover.3> velocity: Point2D.Double[0.0, -40.0] => Point2D.Double[0.0, 0.0]
+Time: 10.0000	CurrentEvent: Stop 	{SimpleMover.3 (0.000, 50.000) [0.000, 0.000]} [1]
+** Event List 0 --  **
+10.6719	EndMove 	{SimpleMover.1 (187.409, 15.739) [18.741, -23.426]}	 <SimpleMover.1>
+14.3697	EndMove 	{SimpleMover.5 (93.556, 152.423) [-20.226, -45.727]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.1> lastStopLocation: Point2D.Double[0.0, 250.0] => Point2D.Double[200.0, 0.0]
+<SimpleMover.1> velocity: Point2D.Double[18.74085142663273, -23.426064283290913] => Point2D.Double[0.0, 0.0]
+<SimplePathMoverManager.2> next: 0 => 1
+Time: 10.6719	CurrentEvent: EndMove 	{SimpleMover.1 (200.000, 0.000) [0.000, 0.000]} [3]
+** Event List 0 --  **
+10.6719	MoveTo 	{Point2D.Double[-200.0, 250.0]}	 <SimplePathMoverManager.2>
+14.3697	EndMove 	{SimpleMover.5 (79.967, 121.700) [-20.226, -45.727]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.1> destination: Point2D.Double[200.0, 0.0] => Point2D.Double[-200.0, 250.0]
+Time: 10.6719	CurrentEvent: MoveTo 	{Point2D.Double[-200.0, 250.0]} [6]
+** Event List 0 --  **
+10.6719	StartMove 	{SimpleMover.1 (200.000, 0.000) [0.000, 0.000]}	 <SimpleMover.1>
+14.3697	EndMove 	{SimpleMover.5 (79.967, 121.700) [-20.226, -45.727]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+ ** End of Event List --  **
+
+<SimpleMover.1> startMoveTime: 0.0 => 10.671873729054747
+<SimpleMover.1> velocity: Point2D.Double[0.0, 0.0] => Point2D.Double[-25.43994912015264, 15.899968200095401]
+Time: 10.6719	CurrentEvent: StartMove 	{SimpleMover.1 (200.000, 0.000) [-25.440, 15.900]} [6]
+** Event List 0 --  **
+14.3697	EndMove 	{SimpleMover.5 (79.967, 121.700) [-20.226, -45.727]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+26.3952	EndMove 	{SimpleMover.1 (200.000, 0.000) [-25.440, 15.900]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+Time: 14.3697	CurrentEvent: EndMove 	{SimpleMover.5 (5.177, -47.387) [0.000, 0.000]} [4]
+** Event List 0 --  **
+14.3697	MoveTo 	{Point2D.Double[-232.29182581417263, 296.9878137111664]}	 <SimpleRandomMoverManager.6>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+26.3952	EndMove 	{SimpleMover.1 (105.929, 58.795) [-25.440, 15.900]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+Time: 14.3697	CurrentEvent: MoveTo 	{Point2D.Double[-232.29182581417263, 296.9878137111664]} [7]
+** Event List 0 --  **
+14.3697	StartMove 	{SimpleMover.5 (5.177, -47.387) [0.000, 0.000]}	 <SimpleMover.5>
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+26.3952	EndMove 	{SimpleMover.1 (105.929, 58.795) [-25.440, 15.900]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+Time: 14.3697	CurrentEvent: StartMove 	{SimpleMover.5 (5.177, -47.387) [-28.384, 41.162]} [7]
+** Event List 0 --  **
+20.0000	Stop	 <SimpleRandomMoverManager.6>
+22.7359	EndMove 	{SimpleMover.5 (5.177, -47.387) [-28.384, 41.162]}	 <SimpleMover.5>
+26.3952	EndMove 	{SimpleMover.1 (105.929, 58.795) [-25.440, 15.900]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+Time: 20.0000	CurrentEvent: Stop [2]
+** Event List 0 --  **
+20.0000	OrderStop	 <SimpleRandomMoverManager.6>
+22.7359	EndMove 	{SimpleMover.5 (-154.636, 184.372) [-28.384, 41.162]}	 <SimpleMover.5>
+26.3952	EndMove 	{SimpleMover.1 (-37.307, 148.317) [-25.440, 15.900]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+Time: 20.0000	CurrentEvent: OrderStop [2]
+** Event List 0 --  **
+20.0000	Stop 	{SimpleMover.5 (-154.636, 184.372) [-28.384, 41.162]}	 <SimpleMover.5>
+22.7359	EndMove 	{SimpleMover.5 (-154.636, 184.372) [-28.384, 41.162]}	 <SimpleMover.5>
+26.3952	EndMove 	{SimpleMover.1 (-37.307, 148.317) [-25.440, 15.900]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+Time: 20.0000	CurrentEvent: Stop 	{SimpleMover.5 (-154.636, 184.372) [0.000, 0.000]} [2]
+** Event List 0 --  **
+26.3952	EndMove 	{SimpleMover.1 (-37.307, 148.317) [-25.440, 15.900]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+<SimpleMover.1> lastStopLocation: Point2D.Double[200.0, 0.0] => Point2D.Double[-200.0, 250.0]
+<SimpleMover.1> velocity: Point2D.Double[-25.43994912015264, 15.899968200095401] => Point2D.Double[0.0, 0.0]
+<SimplePathMoverManager.2> next: 1 => 2
+Time: 26.3952	CurrentEvent: EndMove 	{SimpleMover.1 (-200.000, 250.000) [0.000, 0.000]} [5]
+** Event List 0 --  **
+26.3952	MoveTo 	{Point2D.Double[200.0, 250.0]}	 <SimplePathMoverManager.2>
+ ** End of Event List --  **
+
+<SimpleMover.1> destination: Point2D.Double[-200.0, 250.0] => Point2D.Double[200.0, 250.0]
+Time: 26.3952	CurrentEvent: MoveTo 	{Point2D.Double[200.0, 250.0]} [8]
+** Event List 0 --  **
+26.3952	StartMove 	{SimpleMover.1 (-200.000, 250.000) [0.000, 0.000]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+<SimpleMover.1> startMoveTime: 10.671873729054747 => 26.395175615815752
+<SimpleMover.1> velocity: Point2D.Double[0.0, 0.0] => Point2D.Double[30.0, 0.0]
+Time: 26.3952	CurrentEvent: StartMove 	{SimpleMover.1 (-200.000, 250.000) [30.000, 0.000]} [8]
+** Event List 0 --  **
+39.7285	EndMove 	{SimpleMover.1 (-200.000, 250.000) [30.000, 0.000]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+<SimpleMover.1> lastStopLocation: Point2D.Double[-200.0, 250.0] => Point2D.Double[200.0, 250.0]
+<SimpleMover.1> velocity: Point2D.Double[30.0, 0.0] => Point2D.Double[0.0, 0.0]
+<SimplePathMoverManager.2> next: 2 => 3
+Time: 39.7285	CurrentEvent: EndMove 	{SimpleMover.1 (200.000, 250.000) [0.000, 0.000]} [6]
+** Event List 0 --  **
+39.7285	MoveTo 	{Point2D.Double[0.0, 250.0]}	 <SimplePathMoverManager.2>
+ ** End of Event List --  **
+
+<SimpleMover.1> destination: Point2D.Double[200.0, 250.0] => Point2D.Double[0.0, 250.0]
+Time: 39.7285	CurrentEvent: MoveTo 	{Point2D.Double[0.0, 250.0]} [9]
+** Event List 0 --  **
+39.7285	StartMove 	{SimpleMover.1 (200.000, 250.000) [0.000, 0.000]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+<SimpleMover.1> startMoveTime: 26.395175615815752 => 39.72850894914909
+<SimpleMover.1> velocity: Point2D.Double[0.0, 0.0] => Point2D.Double[-30.0, 0.0]
+Time: 39.7285	CurrentEvent: StartMove 	{SimpleMover.1 (200.000, 250.000) [-30.000, 0.000]} [9]
+** Event List 0 --  **
+46.3952	EndMove 	{SimpleMover.1 (200.000, 250.000) [-30.000, 0.000]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+<SimpleMover.1> lastStopLocation: Point2D.Double[200.0, 250.0] => Point2D.Double[0.0, 250.0]
+<SimpleMover.1> velocity: Point2D.Double[-30.0, 0.0] => Point2D.Double[0.0, 0.0]
+<SimplePathMoverManager.2> next: 3 => 4
+Time: 46.3952	CurrentEvent: EndMove 	{SimpleMover.1 (0.000, 250.000) [0.000, 0.000]} [7]
+** Event List 0 --  **
+46.3952	Stop	 <SimplePathMoverManager.2>
+ ** End of Event List --  **
+
+Time: 46.3952	CurrentEvent: Stop [3]
+** Event List 0 --  **
+46.3952	OrderStop	 <SimplePathMoverManager.2>
+ ** End of Event List --  **
+
+Time: 46.3952	CurrentEvent: OrderStop [3]
+** Event List 0 --  **
+46.3952	Stop 	{SimpleMover.1 (0.000, 250.000) [0.000, 0.000]}	 <SimpleMover.1>
+ ** End of Event List --  **
+
+<SimpleMover.1> lastStopLocation: Point2D.Double[0.0, 250.0] => Point2D.Double[0.0, 250.0]
+<SimpleMover.1> velocity: Point2D.Double[0.0, 0.0] => Point2D.Double[0.0, 0.0]
+Time: 46.3952	CurrentEvent: Stop 	{SimpleMover.1 (0.000, 250.000) [0.000, 0.000]} [3]
+** Event List 0 --  **
+            << empty >>
+ ** End of Event List --  **
\ No newline at end of file
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment1.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment1.docx
new file mode 100644
index 0000000000000000000000000000000000000000..7b02d16b602a096514e014be5c3b23b8dbc5c7aa
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment1.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment1Solution.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment1Solution.docx
similarity index 100%
rename from examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment1Solution.docx
rename to examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment1Solution.docx
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment2.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment2.docx
new file mode 100644
index 0000000000000000000000000000000000000000..3438b6b508cabaef0f81a26525edcd776358b009
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment2.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment2Solution.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment2Solution.docx
similarity index 100%
rename from examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment2Solution.docx
rename to examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment2Solution.docx
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment3.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment3.docx
new file mode 100644
index 0000000000000000000000000000000000000000..84dcb3e749691a115e27448eb857935410f3f54a
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment3.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment3Solution.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment3Solution.docx
similarity index 100%
rename from examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment3Solution.docx
rename to examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment3Solution.docx
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment4.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment4.docx
new file mode 100644
index 0000000000000000000000000000000000000000..87b2dda8f10d6796662153d05fe605dda2f7f780
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment4.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment4Solution.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment4Solution.docx
similarity index 100%
rename from examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment4Solution.docx
rename to examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment4Solution.docx
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment5.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment5.docx
new file mode 100644
index 0000000000000000000000000000000000000000..4ce1abec915850b5cded414e1e462c16e80eac87
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment5.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment5Solution.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment5Solution.docx
similarity index 100%
rename from examples/src/SimkitOpenDis7Examples/documentation/WrittenAssignment5Solution.docx
rename to examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment5Solution.docx
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment6.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment6.docx
new file mode 100644
index 0000000000000000000000000000000000000000..6564483b505cfae3fd505de5a543881cb21afe3a
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment6.docx differ
diff --git a/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment7_2022.docx b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment7_2022.docx
new file mode 100644
index 0000000000000000000000000000000000000000..492f048c54c74345ff7b7dc742738a87eab24aa0
Binary files /dev/null and b/examples/src/SimkitOpenDis7Examples/documentation/MV3302/WrittenAssignment7_2022.docx differ