diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java
index 590d660b60456ce9b3f50852f9ba7463b5beddb7..9141adfb87ed486a06da6763111b68c08aa470b3 100644
--- a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java
+++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Client.java
@@ -9,7 +9,10 @@ import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.PrintStream;
 import java.net.Socket;
+import java.util.Scanner;
 
 /**
  *
@@ -22,16 +25,18 @@ public class LoeffelmanAssignment2Client {
 	public static void main(String[] args) {
             
 		try {
-			while (true) {
-				System.out.println("creating socket");
+                    System.out.println("creating socket");
 
-				// We request an IP to connect to ("localhost") and
+			//This program establishes allows a client and server
+                        //to send messages back and forth.
+                        System.out.println("Listening:");        
+			while (true) {
+                                // We request an IP to connect to ("localhost") and
 				// port number at that IP (2317). This establishes
 				// a connection to that IP in the form of the Socket
 				// object; the server uses a ServerSocket to wait for
 				// connections.
-				Socket socket = new Socket(LOCALHOST, 2317); // locohost?
-
+                                Socket socket = new Socket(LOCALHOST, 2317); // locohost?
 				// Read the single line written by the server. We'd
 				// do things a bit differently if many lines to be read
 				// from the server, instead of one only.
@@ -40,9 +45,16 @@ public class LoeffelmanAssignment2Client {
 				BufferedReader br = new BufferedReader(isr);
 
 				String serverMessage = br.readLine();
-				System.out.println("==================================================");
-				System.out.println("Now we're talking!");
-				System.out.println("The message the server sent was " + serverMessage);
+				System.out.println("Server: " + serverMessage);
+                                
+                                OutputStream os = socket.getOutputStream();
+				PrintStream ps = new PrintStream(os);
+                                
+                                Scanner keyboard = new Scanner(System.in);
+                                System.out.println("Send Message to Server:");
+                                String message = keyboard.nextLine();
+				ps.println(message);
+                                
 				// socket gets closed, either automatically/silently this code (or possibly by server)
 			} // end while(true)
 		} 
diff --git a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java
index 1d0db5018c94e57ee5a5def221dde76b22edf0fa..49b465f6b91c4af71ad927a2f96e851146a42f8e 100644
--- a/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java
+++ b/deliverables/src/MV3500Cohort2018JulySeptember/homework2/Loeffelman/LoeffelmanAssignment2Server.java
@@ -5,12 +5,16 @@
  */
 package MV3500Cohort2018JulySeptember.homework2.Loeffelman;
 
+import java.io.BufferedReader;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
+import java.util.Scanner;
 
 /**
  *
@@ -35,8 +39,11 @@ public class LoeffelmanAssignment2Server {
 				Socket clientConnection = serverSocket.accept(); // block until connected
 				OutputStream os = clientConnection.getOutputStream();
 				PrintStream ps = new PrintStream(os);
-
-				ps.println("This was written by the server");
+                                
+                                Scanner keyboard = new Scanner(System.in);
+                                System.out.println("Send message to client:");
+                                String message = keyboard.nextLine();
+				ps.println(message);
 
 				// Print some information locally about the Socket
 				// connection. This includes the port and IP numbers
@@ -55,6 +62,14 @@ public class LoeffelmanAssignment2Server {
 				// different ports?
 				System.out.println("Socket pair: (( " + localAddress.toString() + ", " + localPort + " ), ( "
 						+ remoteAddress.toString() + ", " + remotePort + " ))");
+                                
+                                InputStream is = clientConnection.getInputStream();
+				InputStreamReader isr = new InputStreamReader(is);
+				BufferedReader br = new BufferedReader(isr);
+
+				String serverMessage = br.readLine();
+				System.out.println("Client: " + serverMessage);
+                                
 
 				// Notice the use of flush() and close(). Without
 				// the close() to Socket object may stay open for