diff --git a/conferences/IITSEC2018/IITSEC2018_DIS_Tutorial.pdf b/conferences/IITSEC2018/IITSEC2018_DIS_Tutorial.pdf
deleted file mode 100644
index 96c46679560eec6712839a287e26de9e6d1efccc..0000000000000000000000000000000000000000
Binary files a/conferences/IITSEC2018/IITSEC2018_DIS_Tutorial.pdf and /dev/null differ
diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Receiver.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Receiver.java
new file mode 100644
index 0000000000000000000000000000000000000000..8852127968337a6dcd00f667e1a7742aa2fb086a
--- /dev/null
+++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Receiver.java
@@ -0,0 +1,69 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package MV3500Cohort2018JulySeptember.homework3.Cain_Thomerson_Homework3;
+
+import java.io.ByteArrayInputStream;
+import java.io.DataInputStream;
+import java.net.DatagramPacket;
+import java.net.InetAddress;
+import java.net.MulticastSocket;
+
+/**
+ *
+ * @author danielcain with credit to CDR Angelopolis
+ */
+public class CainThomersonHw3Receiver {
+
+    public static final String MULTICAST_ADDRESS = "239.1.2.15";
+    public static final int DESTINATION_PORT = 1717;
+    /** How many routers can be crossed */
+    public static final int TTL = 10; 
+    
+    public static void main(String[] args) 
+    {
+        try
+        {
+
+            System.setProperty("java.net.preferIPv4Stack", "true");
+            
+            MulticastSocket multicastSocket = new MulticastSocket(DESTINATION_PORT);
+            multicastSocket.setTimeToLive(TTL);
+            InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS);
+            System.out.println(multicastAddress);            
+            // Join group useful on receiving side
+            multicastSocket.joinGroup(multicastAddress);
+            // You can join multiple groups here
+            while(true)
+            {
+                byte[] packetArray = new byte[1500];
+                DatagramPacket packet = new DatagramPacket(packetArray, packetArray.length);
+                multicastSocket.receive(packet);
+                ByteArrayInputStream bais = new ByteArrayInputStream(packet.getData());
+                DataInputStream dis = new DataInputStream(bais);
+                char type = dis.readChar();
+                if (type == 'A') {
+                    float firstNumber = dis.readFloat();
+                    float secondNumber = dis.readFloat();
+                    float thirdNumber = dis.readFloat();
+                    System.out.println("help!  Ninjas took the keg!");
+                    System.out.println("the keg was spotted at coordinates (x: " + firstNumber + ", y: " + secondNumber +", z: " + thirdNumber + " )");    
+                }
+                if (type == 'B') {
+                    int lngth = dis.readInt();
+                    String informationLine = "the customer says: ";
+                    for(int i=0; i<lngth; i++) {
+                        informationLine += dis.readChar();
+                    }
+                    System.out.println(informationLine);
+                }
+            }   
+        }
+        catch(Exception e)
+        {
+            System.out.println(e);
+        }
+    }
+}
diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java
new file mode 100644
index 0000000000000000000000000000000000000000..7613dfe4934ded930ea52dd663271190ef881987
--- /dev/null
+++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework3/Cain_Thomerson_Homework3/CainThomersonHw3Sender.java
@@ -0,0 +1,93 @@
+
+package MV3500Cohort2018JulySeptember.homework3.Cain_Thomerson_Homework3;
+
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.net.DatagramPacket;
+import java.net.InetAddress;
+import java.net.MulticastSocket;
+import java.util.Random;
+
+
+/**
+ *
+ * @author danielcain with credit to CDR Angelopolis
+ */
+public class CainThomersonHw3Sender {
+
+public static final String MULTICAST_ADDRESS = "239.1.2.15";
+    public static final int DESTINATION_PORT = 1717;
+    /** How many routers can be crossed */
+    public static final int TTL = 10; 
+    
+    public static void main(String[] args) 
+    {
+        try
+        {
+          
+            System.setProperty("java.net.preferIPv4Stack", "true");
+            
+            
+            MulticastSocket multicastSocket = new MulticastSocket(1718);
+            multicastSocket.setTimeToLive(TTL);
+            InetAddress multicastAddress = InetAddress.getByName(MULTICAST_ADDRESS);
+            System.out.println(multicastAddress);            
+            // Join group useful on receiving side
+            System.out.println(multicastAddress);            
+            // Join group useful on receiving side
+            multicastSocket.joinGroup(multicastAddress);
+            // You can join multiple groups here
+            // Put together a message with binary content. "ByteArrayOutputStream"
+            // is a java.io utility that lets us put together an array of binary
+            // data, which we put into the UDP packet.
+            
+            ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
+            DataOutputStream dos = new DataOutputStream(byteOut);
+            Random rand = new Random();
+            Random rndFLT = new Random();
+            for(int idx = 1; idx <+ 100; idx++){
+                float flt = rndFLT.nextFloat();
+                if (flt <=.5){
+                    dos.writeChars("A");
+                    dos.writeFloat(rand.nextFloat()*100);
+                    dos.writeFloat(rand.nextFloat()*100);
+                    dos.writeFloat(rand.nextFloat()*100);
+                }
+                else if (flt < .8 ) {
+                    dos.writeChars("B");
+                    dos.writeInt("Information Bravo.".length());
+                    dos.writeChars("study for networks");
+                }
+                else {
+                    dos.writeChars("B");
+                    dos.writeInt("Information Charlie.".length());
+                    dos.writeChars("Drink beer and chill.");
+                }
+            byte[] buffer = byteOut.toByteArray();
+            // Put together a packet to send
+            
+            // muticast group we are sending to--not a single host
+            
+                DatagramPacket packet = new DatagramPacket(buffer, buffer.length, multicastAddress, DESTINATION_PORT);
+       
+            // How fast does this go? Does UDP try to slow it down, or does
+            // this cause network problems? (hint: yes for an unlimited send
+            // rate, unlike TCP). How do you know on the receiving side
+            // that you haven't received a duplicate UDP packet, out of
+            // order packet, or dropped packet?
+            
+
+               multicastSocket.send(packet);
+               byteOut.reset();
+               Thread.sleep(1000); // Send 100, one per second
+               System.out.println("Sent multicast packet " + idx + " of 100");
+            }
+        }
+        catch(Exception e)
+        {
+            System.out.println(e);
+        }
+    }
+    
+}
diff --git a/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml b/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml
index 677f586b136628aa810ddaacdbe5ae89debeefc4..cdc34b407c52c2099ed91aa91693b51078648f04 100644
--- a/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml
+++ b/projects/TcpExample4/TcpClient/TcpClient/nbproject/private/private.xml
@@ -1,9 +1,9 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
-    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
-    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
-        <group name="MV3500 networking open-dis">
-            <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpClient/TcpClient/src/tcpclient/TcpClient.java</file>
-        </group>
-    </open-files>
-</project-private>
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
+    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
+        <group name="MV3500 networking open-dis">
+            <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpClient/TcpClient/src/tcpclient/TcpClient.java</file>
+        </group>
+    </open-files>
+</project-private>
diff --git a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class
index 7a921b68cb4aab746feea6a3f1c1756c12549a71..4eeaca403f21a11ca35de083b572164ebba3e408 100644
Binary files a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class and b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/build/classes/tcpthreadserver/HandlerThread.class differ
diff --git a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml
index 2c9ba6601e23058e25a0da11b4bf126041a26d21..eb56e68af4ac2534930d72771f22170f2321e9fa 100644
--- a/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml
+++ b/projects/TcpExample4/TcpThreadServer/TcpThreadServer/nbproject/private/private.xml
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
-    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
-    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
-        <group>
-            <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file>
-            <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file>
-        </group>
-        <group name="MV3500 networking open-dis">
-            <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file>
-            <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file>
-        </group>
-    </open-files>
-</project-private>
+<?xml version="1.0" encoding="UTF-8"?>
+<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
+    <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
+    <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
+        <group>
+            <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file>
+            <file>file:/Users/mcgredo/projects/gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file>
+        </group>
+        <group name="MV3500 networking open-dis">
+            <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/HandlerThread.java</file>
+            <file>file:/E:/x-nps-gitlab/NetworkedGraphicsMV3500/projects/TcpExample4/TcpThreadServer/TcpThreadServer/src/tcpthreadserver/TcpThreadServer.java</file>
+        </group>
+    </open-files>
+</project-private>
diff --git a/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class b/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class
index f263483587b873c85528e1ddbf3906d2ceb42cb7..708e594b631cbfb1eebc065078d2f6e87b4037b5 100644
Binary files a/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class and b/projects/TcpExample5/WebExample/build/classes/webexample/WebExample.class differ