diff --git a/archive/MV3302ClassCode/nbproject/project.properties b/archive/MV3302ClassCode/nbproject/project.properties
index 8e152217fb8171e32c5ff2f261f011adfce1108e..f011abd07ec00d0f8be440de9f7b3338389ca5e2 100644
--- a/archive/MV3302ClassCode/nbproject/project.properties
+++ b/archive/MV3302ClassCode/nbproject/project.properties
@@ -3,7 +3,7 @@ annotation.processing.enabled.in.editor=false
 annotation.processing.processors.list=
 annotation.processing.run.all.processors=true
 annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=MV3302
+application.title=Networked Graphics MV3500 examples MV3302
 application.vendor=dansl
 build.classes.dir=${build.dir}/classes
 build.classes.excludes=**/*.java,**/*.form
@@ -29,10 +29,10 @@ debug.test.modulepath=\
 dist.archive.excludes=
 # This directory is removed when the project is cleaned:
 dist.dir=dist
-dist.jar=${dist.dir}/MV3302.jar
+dist.jar=${dist.dir}/Networked_Graphics_MV3500_examples_MV3302.jar
 dist.javadoc.dir=${dist.dir}/javadoc
 dist.jlink.dir=${dist.dir}/jlink
-dist.jlink.output=${dist.jlink.dir}/MV3302
+dist.jlink.output=${dist.jlink.dir}/Networked_Graphics_MV3500_examples_MV3302
 endorsed.classpath=
 excludes=
 includes=**
@@ -73,7 +73,7 @@ jlink.additionalmodules=
 # The jlink additional command line parameters
 jlink.additionalparam=
 jlink.launcher=true
-jlink.launcher.name=MV3302
+jlink.launcher.name=Networked_Graphics_MV3500_examples_MV3302
 main.class=mv3302.run.RunSimpleServer
 meta.inf.dir=${src.dir}/META-INF
 mkdist.disabled=true
diff --git a/archive/MV3302ClassCode/nbproject/project.xml b/archive/MV3302ClassCode/nbproject/project.xml
index ada7c5b8f694760a85fd4af7350fe700b2157be9..54b7d8ec730f663f5234f8149874c8d2006c37ee 100644
--- a/archive/MV3302ClassCode/nbproject/project.xml
+++ b/archive/MV3302ClassCode/nbproject/project.xml
@@ -3,7 +3,7 @@
     <type>org.netbeans.modules.java.j2seproject</type>
     <configuration>
         <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>MV3302</name>
+            <name>Networked Graphics MV3500 examples MV3302</name>
             <source-roots>
                 <root id="src.dir"/>
             </source-roots>
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/README.md b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..38a981a6457b9a74e9733f3c93572b085e78108b
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/README.md
@@ -0,0 +1,10 @@
+# Schnitzler Homework 2
+
+***
+
+## Description
+Modification of TcpExample3 and adding some code to implement a chat room with multiple clients.
+
+The 'SchnitzlerServer' class sets up a server that listens for incoming client connections on port 2317. When a client connects, the server creates a new handler thread for managing communication with that client. Each client's messages are broadcast to all other connected clients.
+
+The 'SchnitzlerClient' class connects to a server running on localhost at port 2317. It sends user input from the console to the server and displays messages received from the server.
\ No newline at end of file
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/SchnitzlerClient.java b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/SchnitzlerClient.java
new file mode 100644
index 0000000000000000000000000000000000000000..82eb4915a5ce1c64fc81d152388f5d8d1dfb1daf
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/SchnitzlerClient.java
@@ -0,0 +1,53 @@
+package MV3500Cohort2024JulySeptember.homework2.Schnitzler;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.util.Scanner;
+
+/**
+ *
+ * @author simonschnitzler
+ */
+public class SchnitzlerClient {
+    public final static String LOCALHOST = "0:0:0:0:0:0:0:1"; //Local host
+
+    /**
+     * @param args the command line arguments
+     * @throws java.lang.Exception
+     */
+    public static void main(String[] args) throws Exception {
+        Socket socket = new Socket(LOCALHOST, 2317);
+
+        new Thread(new Reader(socket)).start();
+
+        PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
+        Scanner scanner = new Scanner(System.in);
+        while (scanner.hasNextLine()) {
+            out.println(scanner.nextLine());
+        }
+    }
+
+    private static class Reader implements Runnable {
+        private BufferedReader in;
+
+        public Reader(Socket socket) throws IOException {
+            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+        }
+
+        @Override
+        public void run() {
+            try {
+                String message;
+                while ((message = in.readLine()) != null) {
+                    System.out.println(message);
+                }
+            } catch (IOException e) {
+                System.out.println("Error reading from server: " + e);
+            }
+        }
+    }
+    
+}
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/SchnitzlerServer.java b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/SchnitzlerServer.java
new file mode 100644
index 0000000000000000000000000000000000000000..2f2323f5b3068b963cad413bf7ee3ecf1145723e
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/SchnitzlerServer.java
@@ -0,0 +1,99 @@
+package MV3500Cohort2024JulySeptember.homework2.Schnitzler;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.net.InetAddress;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ *
+ * @author simonschnitzler
+ */
+public class SchnitzlerServer {
+    // the set clientWriters contains form all sockets the active PrintStream  
+    private static Set<PrintWriter> clientWriters = new HashSet<>();
+
+    /**
+     * @param args the command line arguments
+     */
+    public static void main(String[] args) {
+        System.out.println(SchnitzlerServer.class.getName() + " has started..."); // it helps debugging to put this on console first
+        try (ServerSocket listener = new ServerSocket(2317)) {            
+            while (true) {
+                Handler handler = new Handler(listener.accept()); // create a new thread writing and reading to and from the new socket
+                OutputStream os = handler.socket.getOutputStream();
+                PrintStream ps = new PrintStream(os);
+                
+                InetAddress remoteAddress = handler.socket.getInetAddress();
+                int remotePort = handler.socket.getPort();
+                String message = remoteAddress.getHostName() + "=" + remoteAddress.getHostAddress() + ", " + remotePort + " has connected to the server.";
+                System.out.println(message);
+                ps.println("Welcome " + remoteAddress.getHostName() + "=" + remoteAddress.getHostAddress() + ", " + remotePort + " to the group chat!");
+                for (PrintWriter writer : clientWriters) {
+                        writer.println(message);
+                    }
+                ps.flush();
+                handler.start();               
+            }
+        }catch (IOException e) {
+            System.err.println("Problem with " + SchnitzlerServer.class.getName() + " networking: " + e);
+
+            // Provide more helpful information to user if exception occurs due to running twice at one time
+            if (e instanceof java.net.BindException) {
+                System.err.println("*** Be sure to stop any other running instances of programs using this port!");
+            }
+        }
+            
+    }
+    
+    private static class Handler extends Thread {
+        public final Socket socket;
+        private PrintWriter out;
+        private BufferedReader in;
+
+        public Handler(Socket socket) {
+            this.socket = socket;
+        }
+
+        @Override
+        public void run() {
+            try {
+                in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+                out = new PrintWriter(socket.getOutputStream(), true);
+
+                synchronized (clientWriters) {
+                    clientWriters.add(out);
+                }
+
+                String message;
+                while ((message = in.readLine()) != null) {
+                    String outputMessage = socket.getInetAddress().getHostName() + "=" + socket.getInetAddress().getHostAddress() + ", " + socket.getPort()+ ": " + message;
+                    System.out.println(outputMessage);
+                    for (PrintWriter writer : clientWriters) {
+                        writer.println(outputMessage);
+                    }
+                }
+            } catch (IOException e) {
+                System.out.println("Error handling client: " + e);
+            } finally {
+                try {
+                    socket.close();
+                } catch (IOException e) {
+                    System.out.println("Couldn't close a socket, what's going on?");
+                }
+
+                synchronized (clientWriters) {
+                    clientWriters.remove(out);
+                }
+            }
+        }
+    }
+    
+}
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/package-info.java b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..f242324ce45812003d0e3135c3eaa04f81055fde
--- /dev/null
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Schnitzler/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * TCP Unicast homework assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments" target="_blank">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful" target="_blank">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java" target="_blank">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2024JulySeptember.homework2.Schnitzler;
diff --git a/examples/otherProjects/DisDemo/nbproject/build-impl.xml b/examples/otherProjects/DisDemo/nbproject/build-impl.xml
index 6141647413b69914cd9d6c915dddecfe9b72498d..62d17bb9aa6360fab66930e5d0b8c0bf2062cf27 100644
--- a/examples/otherProjects/DisDemo/nbproject/build-impl.xml
+++ b/examples/otherProjects/DisDemo/nbproject/build-impl.xml
@@ -19,7 +19,7 @@ is divided into following sections:
   - cleanup
 
         -->
-<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="DisDemo-impl">
+<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="Networked_Graphics_MV3500_examples_DisDemo-impl">
     <fail message="Please build using Ant 1.8.0 or higher.">
         <condition>
             <not>
@@ -619,7 +619,7 @@ is divided into following sections:
                     </fileset>
                 </union>
                 <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="DisDemo" testname="TestNG tests" workingDir="${work.dir}">
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="Networked_Graphics_MV3500_examples_DisDemo" testname="TestNG tests" workingDir="${work.dir}">
                     <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
                     <propertyset>
                         <propertyref prefix="test-sys-prop."/>
@@ -716,7 +716,7 @@ is divided into following sections:
                 <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
                     <isset property="test.method"/>
                 </condition>
-                <condition else="-suitename DisDemo -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                <condition else="-suitename Networked_Graphics_MV3500_examples_DisDemo -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
                     <matches pattern=".*\.xml" string="@{testClass}"/>
                 </condition>
                 <delete dir="${build.test.results.dir}" quiet="true"/>
@@ -1057,7 +1057,7 @@ is divided into following sections:
         <delete file="${built-jar.properties}" quiet="true"/>
     </target>
     <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: DisDemo was already built"/>
+        <echo level="warn" message="Cycle detected: Networked Graphics MV3500 examples DisDemo was already built"/>
     </target>
     <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
         <mkdir dir="${build.dir}"/>
@@ -1728,7 +1728,7 @@ is divided into following sections:
         <delete file="${built-clean.properties}" quiet="true"/>
     </target>
     <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: DisDemo was already built"/>
+        <echo level="warn" message="Cycle detected: Networked Graphics MV3500 examples DisDemo was already built"/>
     </target>
     <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
         <mkdir dir="${build.dir}"/>
diff --git a/examples/otherProjects/DisDemo/nbproject/project.properties b/examples/otherProjects/DisDemo/nbproject/project.properties
index fa9835b954b8fac0e8219195b5e3feaac1799cad..5eac3f852b617e1d37a735e55b301ca57297728f 100644
--- a/examples/otherProjects/DisDemo/nbproject/project.properties
+++ b/examples/otherProjects/DisDemo/nbproject/project.properties
@@ -3,7 +3,7 @@ annotation.processing.enabled.in.editor=true
 annotation.processing.processors.list=
 annotation.processing.run.all.processors=true
 annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=DisDemo
+application.title=Networked Graphics MV3500 examples DisDemo
 application.vendor=mcgredo
 build.classes.dir=${build.dir}/classes
 build.classes.excludes=**/*.java,**/*.form
@@ -29,7 +29,7 @@ debug.test.modulepath=\
 dist.archive.excludes=
 # This directory is removed when the project is cleaned:
 dist.dir=dist
-dist.jar=${dist.dir}/DisDemo.jar
+dist.jar=${dist.dir}/Networked_Graphics_MV3500_examples_DisDemo.jar
 dist.javadoc.dir=${dist.dir}/javadoc
 endorsed.classpath=
 excludes=
@@ -69,7 +69,7 @@ javadoc.use=true
 javadoc.version=false
 javadoc.windowtitle=DIS Square Box Demo
 jlink.launcher=false
-jlink.launcher.name=DisDemo
+jlink.launcher.name=Networked_Graphics_MV3500_examples_DisDemo
 main.class=DisDemo.DisDemonstration
 manifest.file=manifest.mf
 meta.inf.dir=${src.dir}/META-INF
diff --git a/examples/otherProjects/DisDemo/nbproject/project.xml b/examples/otherProjects/DisDemo/nbproject/project.xml
index 41607b84dd811961486da01248afc2a2ffec92e7..31b28784bf4c26a41104b6ac606c5c5030205c25 100644
--- a/examples/otherProjects/DisDemo/nbproject/project.xml
+++ b/examples/otherProjects/DisDemo/nbproject/project.xml
@@ -3,7 +3,7 @@
     <type>org.netbeans.modules.java.j2seproject</type>
     <configuration>
         <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>DisDemo</name>
+            <name>Networked Graphics MV3500 examples DisDemo</name>
             <source-roots>
                 <root id="src.dir"/>
             </source-roots>
diff --git a/examples/otherProjects/DisShooting/nbproject/build-impl.xml b/examples/otherProjects/DisShooting/nbproject/build-impl.xml
index 94aaf4bbc87951d4c08ce6fecc7cbbbb34658b88..7a9a8494d71d26eda217b68185abe9c8be61408f 100644
--- a/examples/otherProjects/DisShooting/nbproject/build-impl.xml
+++ b/examples/otherProjects/DisShooting/nbproject/build-impl.xml
@@ -19,7 +19,7 @@ is divided into following sections:
   - cleanup
 
         -->
-<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="DisShooting-impl">
+<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="Networked_Graphics_MV3500_examples_DisShooting-impl">
     <fail message="Please build using Ant 1.8.0 or higher.">
         <condition>
             <not>
@@ -619,7 +619,7 @@ is divided into following sections:
                     </fileset>
                 </union>
                 <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="DisShooting" testname="TestNG tests" workingDir="${work.dir}">
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="Networked_Graphics_MV3500_examples_DisShooting" testname="TestNG tests" workingDir="${work.dir}">
                     <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
                     <propertyset>
                         <propertyref prefix="test-sys-prop."/>
@@ -716,7 +716,7 @@ is divided into following sections:
                 <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
                     <isset property="test.method"/>
                 </condition>
-                <condition else="-suitename DisShooting -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                <condition else="-suitename Networked_Graphics_MV3500_examples_DisShooting -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
                     <matches pattern=".*\.xml" string="@{testClass}"/>
                 </condition>
                 <delete dir="${build.test.results.dir}" quiet="true"/>
@@ -1057,7 +1057,7 @@ is divided into following sections:
         <delete file="${built-jar.properties}" quiet="true"/>
     </target>
     <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: DisShooting was already built"/>
+        <echo level="warn" message="Cycle detected: Networked Graphics MV3500 examples DisShooting was already built"/>
     </target>
     <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
         <mkdir dir="${build.dir}"/>
@@ -1728,7 +1728,7 @@ is divided into following sections:
         <delete file="${built-clean.properties}" quiet="true"/>
     </target>
     <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: DisShooting was already built"/>
+        <echo level="warn" message="Cycle detected: Networked Graphics MV3500 examples DisShooting was already built"/>
     </target>
     <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
         <mkdir dir="${build.dir}"/>
diff --git a/examples/otherProjects/DisShooting/nbproject/project.properties b/examples/otherProjects/DisShooting/nbproject/project.properties
index 5925fe9fcbbfa234b21771e4c912cca162656a22..5033ea29ca6575d456bc96d213cdff132287d7d4 100644
--- a/examples/otherProjects/DisShooting/nbproject/project.properties
+++ b/examples/otherProjects/DisShooting/nbproject/project.properties
@@ -4,7 +4,7 @@ annotation.processing.processors.list=
 annotation.processing.run.all.processors=true
 annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
 application.desc=Legacy DMcG DIS demo
-application.title=DisShooting
+application.title=Networked Graphics MV3500 examples DisShooting
 application.vendor=mcgredo
 build.classes.dir=${build.dir}/classes
 build.classes.excludes=**/*.java,**/*.form
@@ -30,7 +30,7 @@ debug.test.modulepath=\
 dist.archive.excludes=
 # This directory is removed when the project is cleaned:
 dist.dir=dist
-dist.jar=${dist.dir}/DisShooting.jar
+dist.jar=${dist.dir}/Networked_Graphics_MV3500_examples_DisShooting.jar
 dist.javadoc.dir=${dist.dir}/javadoc
 endorsed.classpath=
 excludes=
@@ -73,7 +73,7 @@ javadoc.use=true
 javadoc.version=false
 javadoc.windowtitle=DIS Shooting Demo
 jlink.launcher=false
-jlink.launcher.name=DisShooting
+jlink.launcher.name=Networked_Graphics_MV3500_examples_DisShooting
 jnlp.codebase.type=no.codebase
 jnlp.descriptor=application
 jnlp.enabled=false
diff --git a/examples/otherProjects/DisShooting/nbproject/project.xml b/examples/otherProjects/DisShooting/nbproject/project.xml
index b796f516dd3b37e7d45b7d425590ed8b72142c3f..89fcfd69ad8b5313a10466ff59e2a671309422f5 100644
--- a/examples/otherProjects/DisShooting/nbproject/project.xml
+++ b/examples/otherProjects/DisShooting/nbproject/project.xml
@@ -3,7 +3,7 @@
     <type>org.netbeans.modules.java.j2seproject</type>
     <configuration>
         <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>DisShooting</name>
+            <name>Networked Graphics MV3500 examples DisShooting</name>
             <source-roots>
                 <root id="src.dir"/>
             </source-roots>
diff --git a/examples/otherProjects/WebsocketGateway/build.xml b/examples/otherProjects/WebsocketGateway/build.xml
index 296a10f490c7ed1a0d2dcae3c0f3be79cc742158..746b6739a0711c4897f15ed94d7f06801c7664f4 100644
--- a/examples/otherProjects/WebsocketGateway/build.xml
+++ b/examples/otherProjects/WebsocketGateway/build.xml
@@ -7,7 +7,7 @@
 <!-- the Compile on Save feature is turned off for the project. -->
 <!-- You can turn off the Compile on Save (or Deploy on Save) setting -->
 <!-- in the project's Project Properties dialog box.-->
-<project name="WebsocketGateway" default="default" basedir=".">
+<project name="Networked Graphics MV3500 examples WebsocketGateway" default="default" basedir=".">
     <description>Builds, tests, and runs the project WebsocketGateway.</description>
     <import file="nbproject/build-impl.xml"/>
     <!--
diff --git a/examples/otherProjects/WebsocketGateway/nbproject/build-impl.xml b/examples/otherProjects/WebsocketGateway/nbproject/build-impl.xml
index 33a845ac7bb3ea86e3656cdecffaeaae935120a2..93d41767d8e4054cca308cb476a1c9e3a04df2d6 100644
--- a/examples/otherProjects/WebsocketGateway/nbproject/build-impl.xml
+++ b/examples/otherProjects/WebsocketGateway/nbproject/build-impl.xml
@@ -19,7 +19,7 @@ is divided into following sections:
   - cleanup
 
         -->
-<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="WebsocketGateway-impl">
+<project xmlns:if="ant:if" xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" xmlns:unless="ant:unless" basedir=".." default="default" name="Networked_Graphics_MV3500_examples_WebsocketGateway-impl">
     <fail message="Please build using Ant 1.8.0 or higher.">
         <condition>
             <not>
@@ -644,7 +644,7 @@ is divided into following sections:
                     </fileset>
                 </union>
                 <taskdef classname="org.testng.TestNGAntTask" classpath="${run.test.classpath}" name="testng"/>
-                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="WebsocketGateway" testname="TestNG tests" workingDir="${work.dir}">
+                <testng classfilesetref="test.set" failureProperty="tests.failed" listeners="org.testng.reporters.VerboseReporter" methods="${testng.methods.arg}" mode="${testng.mode}" outputdir="${build.test.results.dir}" suitename="Networked_Graphics_MV3500_examples_WebsocketGateway" testname="TestNG tests" workingDir="${work.dir}">
                     <xmlfileset dir="${build.test.classes.dir}" includes="@{testincludes}"/>
                     <propertyset>
                         <propertyref prefix="test-sys-prop."/>
@@ -741,7 +741,7 @@ is divided into following sections:
                 <condition else="-testclass @{testClass}" property="test.class.or.method" value="-methods @{testClass}.@{testMethod}">
                     <isset property="test.method"/>
                 </condition>
-                <condition else="-suitename WebsocketGateway -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
+                <condition else="-suitename Networked_Graphics_MV3500_examples_WebsocketGateway -testname @{testClass} ${test.class.or.method}" property="testng.cmd.args" value="@{testClass}">
                     <matches pattern=".*\.xml" string="@{testClass}"/>
                 </condition>
                 <delete dir="${build.test.results.dir}" quiet="true"/>
@@ -1082,7 +1082,7 @@ is divided into following sections:
         <delete file="${built-jar.properties}" quiet="true"/>
     </target>
     <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
-        <echo level="warn" message="Cycle detected: WebsocketGateway was already built"/>
+        <echo level="warn" message="Cycle detected: Networked Graphics MV3500 examples WebsocketGateway was already built"/>
     </target>
     <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
         <mkdir dir="${build.dir}"/>
@@ -1753,7 +1753,7 @@ is divided into following sections:
         <delete file="${built-clean.properties}" quiet="true"/>
     </target>
     <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
-        <echo level="warn" message="Cycle detected: WebsocketGateway was already built"/>
+        <echo level="warn" message="Cycle detected: Networked Graphics MV3500 examples WebsocketGateway was already built"/>
     </target>
     <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
         <mkdir dir="${build.dir}"/>
diff --git a/examples/otherProjects/WebsocketGateway/nbproject/project.properties b/examples/otherProjects/WebsocketGateway/nbproject/project.properties
index ecad0e0a060e89989c67dcd1b4528a1e4c223181..bb741da47742f9c244135b33ff803834b5ab3be7 100644
--- a/examples/otherProjects/WebsocketGateway/nbproject/project.properties
+++ b/examples/otherProjects/WebsocketGateway/nbproject/project.properties
@@ -3,7 +3,7 @@ annotation.processing.enabled.in.editor=false
 annotation.processing.processors.list=
 annotation.processing.run.all.processors=true
 annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output
-application.title=WebsocketGateway
+application.title=Networked Graphics MV3500 examples WebsocketGateway
 application.vendor=mcgredo
 build.classes.dir=${build.dir}/classes
 build.classes.excludes=**/*.java,**/*.form
@@ -91,7 +91,7 @@ javadoc.use=true
 javadoc.version=false
 javadoc.windowtitle=${application.title} Demonstration
 jlink.launcher=false
-jlink.launcher.name=WebsocketGateway
+jlink.launcher.name=Networked_Graphics_MV3500_examples_WebsocketGateway
 jnlp.codebase.type=no.codebase
 jnlp.descriptor=application
 jnlp.enabled=false
diff --git a/examples/otherProjects/WebsocketGateway/nbproject/project.xml b/examples/otherProjects/WebsocketGateway/nbproject/project.xml
index b7b65b9a3b7fa4f926c8ff09a4077d431c314dc8..6cccec58c27ebbf7f602c29790ff98cafab7eea6 100644
--- a/examples/otherProjects/WebsocketGateway/nbproject/project.xml
+++ b/examples/otherProjects/WebsocketGateway/nbproject/project.xml
@@ -3,7 +3,7 @@
     <type>org.netbeans.modules.java.j2seproject</type>
     <configuration>
         <data xmlns="http://www.netbeans.org/ns/j2se-project/3">
-            <name>WebsocketGateway</name>
+            <name>Networked Graphics MV3500 examples WebsocketGateway</name>
             <source-roots>
                 <root id="src.dir"/>
             </source-roots>
diff --git a/presentations/03_TCPIP.pptx b/presentations/03_TCPIP.pptx
index 1a0eb7245b465139eba0b5d73ac6d2e19c673ac0..50a5ac95140cbe17b5a34ed591271e4f83b72036 100644
Binary files a/presentations/03_TCPIP.pptx and b/presentations/03_TCPIP.pptx differ
diff --git a/presentations/04_TCPSocketsJava.pptx b/presentations/04_TCPSocketsJava.pptx
index 5953fcce70f8b597bf0fa9985158147cea1e457c..d859916fabda47be9b56c407cfedfc6f804bc164 100644
Binary files a/presentations/04_TCPSocketsJava.pptx and b/presentations/04_TCPSocketsJava.pptx differ