diff --git a/Controller.java b/Controller.java
index 89530607ca938c373a739e0fa430f3862b1ca7ed..958245e50e741693f5cf053cc3cf9b86967ed1ea 100644
--- a/Controller.java
+++ b/Controller.java
@@ -323,7 +323,7 @@ public class Controller {
 						}
 						else {
 							//Log error
-							System.err.println("Dstore " + thisStore + " timed out receiving STORE_ACK");
+							System.err.println("Dstore " + thisStore + " timed out receiving STORE_ACK for " + filename);
 						}
 					}
 					catch(DstoreDisconnectException e) {
@@ -545,7 +545,7 @@ public class Controller {
 				Thread thisThread = new Thread(() -> {
 					try {
 						//String[] message = dstores.get(dstore).sendAndReceive(Protocol.LIST_TOKEN).split(" ");
-						String message = dstores.get(dstore).sendAndReceive(Protocol.LIST_TOKEN);
+						String message = dstores.get(dstore).sendAndReceive(Protocol.LIST_TOKEN, Protocol.LIST_TOKEN);
 						if(message != null) {
 							receiveDstoreList(dstore.intValue(), message, dstoreFilesR, listLatch);
 						}
@@ -635,8 +635,9 @@ public class Controller {
 	void receiveDstoreList(int port, String list, Map<Integer,List<String>> dstoreFiles, CountDownLatch latch) {
 		List<String> toList = new ArrayList<String>();
 		if(!list.equals("")) {
-			for(String file : list.split(" ")) {
-				toList.add(file);
+			String[] files = list.split(" ");
+			for(int i=1; i<files.length; i++) {
+				toList.add(files[i]);
 			}
 		}
 		
diff --git a/Dstore.java b/Dstore.java
index 7b01d72634790923213b9abeef751fc06f65ebab..f0eb5765f23510c8f6326ddda2d0b3bb5c653102 100644
--- a/Dstore.java
+++ b/Dstore.java
@@ -261,12 +261,12 @@ public class Dstore {
 	void list() throws Exception {
 		new Thread(() -> {
 			//Send a list of all files in fileFolder to client (the controller)
-			String message = "";
+			String message = Protocol.LIST_TOKEN;
 			for(File file : fileFolder.listFiles()) {
 				message = message + " " + file.getName();
 			}
 			synchronized(controllerOut) {
-				controllerOut.println(message.trim());
+				controllerOut.println(message);
 			}
 		}).start();
 	}
diff --git a/DstoreConnection.java b/DstoreConnection.java
index d7105e5545914cbfbd3c6fe24bb7bf37c16e77f1..d7cfa9445939ee24c320b4a53775cd5d61395bee 100644
--- a/DstoreConnection.java
+++ b/DstoreConnection.java
@@ -12,7 +12,7 @@ import java.util.Iterator;
 import java.util.Arrays;
 
 public class DstoreConnection {
-	protected final int MAX_QUEUE_SIZE = 50;
+	protected final int MAX_QUEUE_SIZE = 20;
 	
 	protected Socket socket;
 	protected int port;
@@ -20,21 +20,19 @@ public class DstoreConnection {
 	protected PrintWriter writer;
 	protected boolean available;
 	protected boolean disconnectThrown;
-	protected List<String> queue;
-	protected final List<String> TOKENS;
+	protected List<Message> queue;
 	protected int timeout;
 	
 	public DstoreConnection(Socket socket, int port, int timeout) {
 		this.socket = socket;
 		this.port = port;
 		this.timeout = timeout;
-		TOKENS = Arrays.asList(Protocol.ACK_TOKEN, Protocol.STORE_ACK_TOKEN, Protocol.REMOVE_ACK_TOKEN, Protocol.JOIN_TOKEN, Protocol.REBALANCE_STORE_TOKEN, Protocol.REBALANCE_COMPLETE_TOKEN);
 		try {
 			reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
 			writer = new PrintWriter(socket.getOutputStream(), true);
 			available = true;
 			disconnectThrown = false;
-			queue = new ArrayList<String>();
+			queue = new ArrayList<Message>();
 			new Thread(new Receiver()).start();
 		}
 		catch(IOException e) {
@@ -47,6 +45,14 @@ public class DstoreConnection {
 		}
 	}
 	
+	protected class Message {
+		public boolean taken = false;
+		public String string;
+		public Message(String string) {
+			this.string = string;
+		}
+	}
+	
 	public int getPort() {
 		return port;
 	}
@@ -73,40 +79,40 @@ public class DstoreConnection {
 	
 	protected void enqueue(String message) {
 		synchronized(queue) {
-			queue.add(0, message);
+			queue.add(0, new Message(message));
 			if(queue.size() > MAX_QUEUE_SIZE) queue.remove(queue.size() - 1);
 		}
 	}
 	
-	//Check the queue for the message before trying to receive any new messages
 	protected String checkQueue(String[] expectedMessages) {
-		Iterator<String> it;
+		List<Message> queueState;
 		synchronized(queue) {
-			it = queue.iterator();
+			queueState = new ArrayList<Message>(queue);
 		}
 		
 		try {
-			while(it.hasNext()) {
-				String message = it.next();
-				if(isExpected(message, expectedMessages)) {
-					synchronized(queue) {it.remove();}
-					return message;
+			for(Message message : queueState) {
+				if(isExpected(message.string, expectedMessages)) {
+					synchronized(message) {
+						if(message.taken) continue;
+						message.taken = true;
+						synchronized(queue) {queue.remove(message);}
+						return message.string;
+					}
 				}
 			}
 		}
-		catch(Exception e) {}
+		catch(Exception e) {System.err.println(port + ": queue modified, must restart search");}
 		
 		return null;
 	}
 	
 	protected boolean isExpected(String message, String[] expectedMessages) {
-		if(expectedMessages.length == 0) {
-			return !TOKENS.contains(message);
-		}
-		else {
-			for(String s : expectedMessages) {
-				if(s.equals(message)) return true;
+		for(String s : expectedMessages) {
+			if(s.equals(Protocol.LIST_TOKEN)) {
+				if(message.split(" ")[0].equals(Protocol.LIST_TOKEN)) return true;
 			}
+			else if(s.equals(message)) return true;
 		}
 		
 		return false;
diff --git a/error.txt b/error.txt
index a5997eaf47a252fe8ab1e850ede43fd2c5b0d39e..b1a82ddf353a0ab8e6b88f9ef4bfacd3824ff52a 100644
--- a/error.txt
+++ b/error.txt
@@ -1,16 +1,16 @@
-FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
+FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
+FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
+FileAlreadyExistsException: Error trying to store file Look_Away.mp3 - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
@@ -22,189 +22,557 @@ FileAlreadyExistsException: Error trying to store file Look_Away.mp3 - file alre
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
+Not all STORE_ACKs have been received
 FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:239)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
-	at Client.store(SourceFile:156)
-	at ClientMain.test2Client(ClientMain.java:44)
-	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Grandad.txt - file already exists
+FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.io.IOException: Connection closed by the Controller
+	at Client.list(SourceFile:121)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-9" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:239)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+Dstore 8087 timed out receiving STORE_ACK for spurk.jpg
+Dstore 8089 timed out receiving STORE_ACK for spurk.jpg
+Dstore 8089 timed out receiving STORE_ACK for Grandad.txt
+Dstore 8094 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8088 timed out receiving STORE_ACK for spurk.jpg
+Dstore 8090 timed out receiving STORE_ACK for spurk.jpg
+Not all STORE_ACKs have been received
+Not all STORE_ACKs have been received
+Dstore 8085 timed out receiving STORE_ACK for Look_Away.mp3
+java.io.IOException: Connection closed by the Controller
+	at Client.list(SourceFile:121)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-3" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:239)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.io.IOException: Connection closed by the Controller
+	at Client.list(SourceFile:121)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-4" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+Dstore 8086 timed out receiving STORE_ACK for AllStar.txt
+Dstore 8083 timed out receiving STORE_ACK for AllStar.txt
+Dstore 8094 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8087 timed out receiving STORE_ACK for Grandad.txt
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
+Dstore 8088 timed out receiving STORE_ACK for Grandad.txt
+Dstore 8087 timed out receiving STORE_ACK for AllStar.txt
+Not all STORE_ACKs have been received
+FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.io.IOException: Connection closed by the Controller
+	at Client.list(SourceFile:121)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-7" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:239)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file GameDotCom.jpg - file already exists
+Dstore 8085 timed out receiving STORE_ACK for AllStar.txt
+FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
+FileAlreadyExistsException: Error trying to store file spurk.jpg - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file AllStar.txt - file already exists
+Dstore 8093 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8095 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8091 timed out receiving STORE_ACK for spurk.jpg
+Dstore 8084 timed out receiving STORE_ACK for Grandad.txt
+Dstore 8095 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8090 timed out receiving STORE_ACK for Grandad.txt
+Dstore 8093 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8086 timed out receiving STORE_ACK for spurk.jpg
+Dstore 8089 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8085 timed out receiving STORE_ACK for Grandad.txt
+Dstore 8081 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8091 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8087 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8092 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8090 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8092 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8091 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8088 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8092 timed out receiving STORE_ACK for spurk.jpg
+Dstore 8093 timed out receiving STORE_ACK for spurk.jpg
+FileAlreadyExistsException: Error trying to store file PumpkinHill.txt - file already exists
 	at Client.a(SourceFile:277)
 	at Client.store(SourceFile:183)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileDoesNotExistException: Error trying to load or remove file PumpkinHill.txt - file does not exist
-	at Client.remove(SourceFile:505)
-	at ClientMain.test2Client(ClientMain.java:57)
-	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file rap.mp3 - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+Not all STORE_ACKs have been received
+Dstore 8085 timed out receiving STORE_ACK for SnowHalation.txt
+java.io.IOException: Unexpected message received (STORE_COMPLETE was expected): STORE_TO 8091 8092 8093 8094 8095 8081 8082 8083 8084 8085
+	at Client.store(SourceFile:254)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Unknown.txt - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+Not all STORE_ACKs have been received
+Dstore 8083 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8086 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8084 timed out receiving STORE_ACK for SnowHalation.txt
+Dstore 8082 timed out receiving STORE_ACK for SnowHalation.txt
+java.io.IOException: Unexpected message received (STORE_COMPLETE was expected): STORE_TO 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095
+	at Client.store(SourceFile:254)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileDoesNotExistException: Error trying to load or remove file spurk.jpg - file does not exist
-	at Client.remove(SourceFile:505)
-	at ClientMain.test2Client(ClientMain.java:57)
-	at ClientMain$1.run(ClientMain.java:26)
-FileAlreadyExistsException: Error trying to store file Look_Away.mp3 - file already exists
-	at Client.a(SourceFile:277)
-	at Client.store(SourceFile:183)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.store(SourceFile:177)
 	at Client.store(SourceFile:156)
 	at ClientMain.test2Client(ClientMain.java:44)
 	at ClientMain$1.run(ClientMain.java:26)
-FileDoesNotExistException: Error trying to load or remove file Look_Away.mp3 - file does not exist
-	at Client.remove(SourceFile:505)
-	at ClientMain.test2Client(ClientMain.java:57)
-	at ClientMain$1.run(ClientMain.java:26)
-FileDoesNotExistException: Error trying to load or remove file spurk.jpg - file does not exist
-	at Client.remove(SourceFile:505)
-	at ClientMain.test2Client(ClientMain.java:57)
-	at ClientMain$1.run(ClientMain.java:26)
-FileDoesNotExistException: Error trying to load or remove file Grandad.txt - file does not exist
-	at Client.remove(SourceFile:505)
-	at ClientMain.test2Client(ClientMain.java:57)
-	at ClientMain$1.run(ClientMain.java:26)
-FileDoesNotExistException: Error trying to load or remove file rap.mp3 - file does not exist
-	at Client.remove(SourceFile:505)
-	at ClientMain.test2Client(ClientMain.java:57)
-	at ClientMain$1.run(ClientMain.java:26)
+Dstore 8086 timed out receiving STORE_ACK for Grandad.txt
+java.io.IOException: Connection closed by the Controller
+	at Client.list(SourceFile:121)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-5" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+java.io.IOException: Connection closed by the Controller
+	at Client.list(SourceFile:121)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-2" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+Dstore 8095 timed out receiving STORE_ACK for spurk.jpg
+Dstore 8094 timed out receiving STORE_ACK for spurk.jpg
+java.io.IOException: Connection closed by the Controller
+	at Client.list(SourceFile:121)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-6" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.list(SourceFile:93)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-0" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+Dstore 8091 timed out receiving STORE_ACK for PumpkinHill.txt
+java.net.SocketTimeoutException: Read timed out
+	at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:283)
+	at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:309)
+	at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
+	at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
+	at java.base/java.net.Socket$SocketInputStream.read(Socket.java:982)
+	at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
+	at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
+	at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
+	at java.base/java.io.InputStreamReader.read(InputStreamReader.java:181)
+	at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:326)
+	at java.base/java.io.BufferedReader.readLine(BufferedReader.java:392)
+	at Client.list(SourceFile:93)
+	at ClientMain.list(ClientMain.java:113)
+	at ClientMain.test2Client(ClientMain.java:52)
+	at ClientMain$1.run(ClientMain.java:26)
+Exception in thread "Thread-8" java.lang.NullPointerException
+	at ClientMain.test2Client(ClientMain.java:54)
+	at ClientMain$1.run(ClientMain.java:26)
+Dstore 8094 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8092 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8093 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8081 timed out receiving STORE_ACK for Unknown.txt
+Dstore 8082 timed out receiving STORE_ACK for Unknown.txt
+Dstore 8095 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8081 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8083 timed out receiving STORE_ACK for Unknown.txt
+Dstore 8082 timed out receiving STORE_ACK for Grandad.txt
+Dstore 8082 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8081 timed out receiving STORE_ACK for Grandad.txt
+Not all STORE_ACKs have been received
+Dstore 8085 timed out receiving STORE_ACK for Unknown.txt
+Dstore 8083 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8083 timed out receiving STORE_ACK for Grandad.txt
+Dstore 8084 timed out receiving STORE_ACK for Unknown.txt
+Not all STORE_ACKs have been received
+Not all STORE_ACKs have been received
+Dstore 8084 timed out receiving STORE_ACK for PumpkinHill.txt
+Dstore 8085 timed out receiving STORE_ACK for PumpkinHill.txt
+DstoreDisconnectException: Dstore at port 8081 has been disconnected
+	at DstoreConnection.getDisconnectData(DstoreConnection.java:65)
+	at DstoreConnection.checkAvailable(DstoreConnection.java:72)
+	at DstoreConnection.sendAndReceive(DstoreConnection.java:143)
+	at Controller.lambda$rebalance$3(Controller.java:548)
+	at java.base/java.lang.Thread.run(Thread.java:832)
+DstoreDisconnectException: Dstore at port 8082 has been disconnected
+	at DstoreConnection.getDisconnectData(DstoreConnection.java:65)
+	at DstoreConnection.checkAvailable(DstoreConnection.java:72)
+	at DstoreConnection.sendAndReceive(DstoreConnection.java:143)
+	at Controller.lambda$rebalance$3(Controller.java:548)
+	at java.base/java.lang.Thread.run(Thread.java:832)
+DstoreDisconnectException: Dstore at port 8085 has been disconnected
+	at DstoreConnection.getDisconnectData(DstoreConnection.java:65)
+	at DstoreConnection.checkAvailable(DstoreConnection.java:72)
+	at DstoreConnection.sendAndReceive(DstoreConnection.java:143)
+	at Controller.lambda$rebalance$3(Controller.java:548)
+	at java.base/java.lang.Thread.run(Thread.java:832)
+DstoreDisconnectException: Dstore at port 8084 has been disconnected
+	at DstoreConnection.getDisconnectData(DstoreConnection.java:65)
+	at DstoreConnection.checkAvailable(DstoreConnection.java:72)
+	at DstoreConnection.sendAndReceive(DstoreConnection.java:143)
+	at Controller.lambda$rebalance$3(Controller.java:548)
+	at java.base/java.lang.Thread.run(Thread.java:832)
+DstoreDisconnectException: Dstore at port 8083 has been disconnected
+	at DstoreConnection.getDisconnectData(DstoreConnection.java:65)
+	at DstoreConnection.checkAvailable(DstoreConnection.java:72)
+	at DstoreConnection.sendAndReceive(DstoreConnection.java:143)
+	at Controller.lambda$rebalance$3(Controller.java:548)
+	at java.base/java.lang.Thread.run(Thread.java:832)
+java.util.ConcurrentModificationException
+	at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1584)
+	at java.base/java.util.HashMap$KeyIterator.next(HashMap.java:1607)
+	at Controller.rebalance(Controller.java:544)
+	at Controller$RebalanceThread.runRebalance(Controller.java:210)
+	at Controller$RebalanceThread.run(Controller.java:198)
+	at java.base/java.lang.Thread.run(Thread.java:832)
diff --git a/to_store/GameDotCom.jpg b/to_store/GameDotCom.jpg
deleted file mode 100644
index 0895008ff721400e0df8cdc1f82e2307f1ffda5b..0000000000000000000000000000000000000000
Binary files a/to_store/GameDotCom.jpg and /dev/null differ
diff --git a/to_store/rap.mp3 b/to_store/rap.mp3
deleted file mode 100644
index db4f5dfb9e7419cc0feaa6856fb5dc1e6f5a4a95..0000000000000000000000000000000000000000
Binary files a/to_store/rap.mp3 and /dev/null differ