diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Client_HW2.java b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Client_HW2.java
index 806d4bee9ad3e4f909819bf3d1a87053f755be23..aab58250d6a1f91ff76375126ab287212cd5c38a 100644
--- a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Client_HW2.java
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Client_HW2.java
@@ -8,8 +8,21 @@ import java.util.Scanner;
 import java.io.PrintWriter;
 
 /**
+ * This client program establishes a socket connection to the {@link GameHandler.java},
+ * then plays a random number guessing game.
+ * No fancy footwork here, it is pretty simple and similar to {@link TcpExample3Client}.
+ * 
+ * see TcpExample4DispatchServer
+ * see TcpExample4HandlerThread
  *
- * @author Jack
+ * @see <a href="../../../src/TcpExamples/TcpExample4TerminalLog.txt" target="blank">TcpExample4TerminalLog.txt</a>
+ * @see <a href="../../../src/TcpExamples/TcpExample4SequenceDiagram.png" target="blank">TcpExample4SequenceDiagram.png</a>
+ * @see <a href="../../../src/TcpExamples/TcpExample4SequenceSketch.png" target="blank">TcpExample4SequenceSketch.png</a>
+ * 
+ * @author Don McGregor
+ * @author Don Brutzman
+ * @author MV3500 class
+ * @author Jack Timberlake
  */
 
 
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/GameHandler.java b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/GameHandler.java
index 9403aa23e5602254321633278d8e3ceb1a6dca8f..403a68b58b2ee0e0a528d3e63b40d96b6b2e2aed 100644
--- a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/GameHandler.java
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/GameHandler.java
@@ -1,8 +1,28 @@
 package MV3500Cohort2024JulySeptember.homework2.Timberlake;
 
 /**
+ * <p>
+ * This utility class supports the {@link Server_HW2} program,
+ * handling all programming logic needed for a new socket connection
+ * to run in a thread of its own. This is the server
+ * portion as well, so we artificially invent what happens
+ * if the server can't respond to a connection for several seconds.
+ * </p>
+ * <p>
+ * Warning: do not run this class!  It is created and used automatically by {@link Server_HW2} at run time.
+ * </p>
+ * 
+ * see Server_HW2
+ * see Client_HW2
  *
- * @author Jack
+ * @see <a href="../../../src/TcpExamples/TcpExample4TerminalLog.txt" target="blank">TcpExample4TerminalLog.txt</a>
+ * @see <a href="../../../src/TcpExamples/TcpExample4SequenceDiagram.png" target="blank">TcpExample4SequenceDiagram.png</a>
+ * @see <a href="../../../src/TcpExamples/TcpExample4SequenceSketch.png" target="blank">TcpExample4SequenceSketch.png</a>
+ * 
+ * @author Don McGregor
+ * @author Don Brutzman
+ * @author MV3500 class
+ * @author Jack Timberlake
  */
 
 import java.io.BufferedReader;
@@ -14,6 +34,12 @@ import java.util.HashMap;
 import java.util.Map;
 
 public class GameHandler implements Runnable {
+     /** 
+     * The thread constructor creates the socket from a ServerSocket, waiting for the client to connect,
+     * and passes that socket when constructing the thread responsible for handling the connection.
+     * 
+     * @param socket The socket connection handled by this thread
+     */
     private Socket clientSocket;
     private int numToGuess;
     private static final Map<String, String> userCredentials = new HashMap<>();
diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Server_HW2.java b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Server_HW2.java
index 987e79ec35af26cddb82cc8c5b53a889101993a3..36ed7fa156d1c6f7b6fbc568214f51ce66937633 100644
--- a/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Server_HW2.java
+++ b/assignments/src/MV3500Cohort2024JulySeptember/homework2/Timberlake/Server_HW2.java
@@ -4,8 +4,21 @@ import java.net.ServerSocket;
 import java.net.Socket;
 
 /**
+ * This server program works a bit differently by creating and dispatching a
+ * new thread to handle multiple incoming socket connections, one after another, all running in parallel.
+ * This advanced technique is often used in high=performance high=capacity server programs.
+ * 
+ * @see Client_HW2
+ * @see GameHandler
  *
- * @author Jack
+ * @see <a href="../../../src/TcpExamples/TcpExample4TerminalLog.txt" target="blank">TcpExample4TerminalLog.txt</a>
+ * @see <a href="../../../src/TcpExamples/TcpExample4SequenceDiagram.png" target="blank">TcpExample4SequenceDiagram.png</a>
+ * @see <a href="../../../src/TcpExamples/TcpExample4SequenceSketch.png" target="blank">TcpExample4SequenceSketch.png</a>
+ *
+ * @author Don McGregor
+ * @author Don Brutzman
+ * @author MV3500 class
+ * @author Jack Timberlake
  */