diff --git a/src/main/java/fi/utu/tech/telephonegame/MessageBroker.java b/src/main/java/fi/utu/tech/telephonegame/MessageBroker.java
index 2e0ff456f65538ab6204f50b0f09fb447c1011ea..9832eef17cf24cef54a247b08600b26be50f28c4 100644
--- a/src/main/java/fi/utu/tech/telephonegame/MessageBroker.java
+++ b/src/main/java/fi/utu/tech/telephonegame/MessageBroker.java
@@ -22,7 +22,7 @@ public class MessageBroker extends Thread {
 	private final int rootServerPort = 8050;
 	private ConcurrentExpiringHashSet<UUID> prevMessages = new ConcurrentExpiringHashSet<UUID>(1000, 5000);
 	
-	private ArrayList<UUID> processedIDs = new ArrayList<UUID>();  // Creates a list to save all UUIDs of already processed messages
+	
 	
 	/*
 	 * No need to edit the constructor
@@ -51,7 +51,7 @@ public class MessageBroker extends Thread {
 			return null; // If not, return null
 		}
 		Message confirmedMessage = (Message)procMessage; // Converts object to message
-		if (this.processedIDs.contains(confirmedMessage.getId())) { // Returns original message if ID is on the list
+		if (this.prevMessages.containsKey(confirmedMessage.getId())) { // Returns original message if ID is on the list
 			return null;
 		} else {
 			this.gui_io.setReceivedMessage(confirmedMessage.getMessage()); // Shows the received message in GUI
@@ -59,7 +59,7 @@ public class MessageBroker extends Thread {
 			confirmedMessage.setColor(Refiner.refineColor(confirmedMessage.getColor())); // Refines the color of the message
 			this.gui_io.setSignal(confirmedMessage.getColor()); // Shows refined color in GUI
 			this.gui_io.setRefinedMessage(confirmedMessage.getMessage()); // Shows the refined message in GUI
-			this.processedIDs.add(confirmedMessage.getId()); // Adds the ID this message to the list
+			this.prevMessages.put(confirmedMessage.getId()); // Adds the ID this message to the list
 			return confirmedMessage;
 		}
 	}
@@ -81,7 +81,10 @@ public class MessageBroker extends Thread {
 				e.printStackTrace();
 			}
 			Message refinedMessage = this.process(testee); // Object is processed and received back as null or message
-			this.network.postMessage(refinedMessage); // Message (with content or null) is sent to network
+			System.out.println("Refined message." + refinedMessage );
+			if(!(refinedMessage == null)) {
+				this.network.postMessage(refinedMessage); // Message (with content or null) is sent to network
+			}
 		}
 	}
 	
diff --git a/src/main/java/fi/utu/tech/telephonegame/Refiner.java b/src/main/java/fi/utu/tech/telephonegame/Refiner.java
index 1337889a8678b760a889b90e3c6b1e89e9e9be66..7022a6d6ebf02302c4a7911bdc8f493e3f8e9325 100644
--- a/src/main/java/fi/utu/tech/telephonegame/Refiner.java
+++ b/src/main/java/fi/utu/tech/telephonegame/Refiner.java
@@ -4,13 +4,6 @@ import java.util.Random;
 
 public class Refiner {
 
-	private static final String[] text = new String(
-			"Lorem ipsum dolor sit amet, consectetur adipiscing elit Aliquam laoreet vitae lectus id vehicula "
-					+ "lacinia interdum Ut rhoncus, ante in tempor interdum, ipsum orci imperdiet massa, ut porta "
-					+ "in erat cursus interdum Fusce quis leo venenatis, venenatis massa mollis, convallis mauris "
-					+ "Vivamus nec auctor diam Curabitur tincidunt tincidunt sapien, et porta urna dapibus vitae "
-					+ "tempus quis Mauris vitae eros velit Morbi suscipit aliquet massa mollis sollicitudin"
-					+ "turpis varius tortor, quis commodo dolor justo ac massa").split(" ");
 	private static Random rnd = new Random();
 	
 	// Creates a list of Matti Nykänen quotes
@@ -65,9 +58,8 @@ public class Refiner {
 		String outText = inText;
 
 		// Change the content of the message here.
-		// Refiner adds a random Matti Nykänen quote to the end of the message (template solution commented out IOT save it)
-		outText = outText + " " + masat[rnd.nextInt(masat.length)]; // + text[rnd.nextInt(text.length)];
-
+		// Refiner adds a random Matti Nykänen quote to the end of the message
+		outText = outText + " " + masat[rnd.nextInt(masat.length)]; 
 		return outText;
 	}
 
diff --git a/src/main/java/fi/utu/tech/telephonegame/network/ClientHandler.java b/src/main/java/fi/utu/tech/telephonegame/network/ClientHandler.java
index 16f773f780b5fc34e07f9975263069f34fcfeac5..462fad29af8bd59f6e26923460fc250d357b6996 100644
--- a/src/main/java/fi/utu/tech/telephonegame/network/ClientHandler.java
+++ b/src/main/java/fi/utu/tech/telephonegame/network/ClientHandler.java
@@ -9,19 +9,16 @@ import java.net.Socket;
 public class ClientHandler extends Thread{
 	private final Socket s;	
 	private NetworkService n;
-	private String clientIP;
-	private int clientPort;
 	private ObjectInputStream inputStream; 
     private ObjectOutputStream outputStream;
 	
 	public ClientHandler(Socket s, NetworkService n) throws IOException { 
 		this.s = s;
 		this.n = n;
+		n.registerClient(this);
 	}
 	
 	public ClientHandler(String clientIP, int clientPort, NetworkService n) throws IOException{
-		this.clientIP = clientIP;
-		this.clientPort = clientPort;
 		this.n = n;
 		this.s = new Socket(InetAddress.getByName(clientIP), clientPort);
 		n.registerClient(this);
diff --git a/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java b/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java
index 625e9679bb45355578e8352593c39160bac88e55..dda809077903d684f6a69e45f27ba8ca82f48e1d 100644
--- a/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java
+++ b/src/main/java/fi/utu/tech/telephonegame/network/NetworkService.java
@@ -1,22 +1,14 @@
 package fi.utu.tech.telephonegame.network;
 
 import java.net.NetworkInterface;
-import java.net.ServerSocket;
-import java.net.Socket;
 import java.net.SocketException;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Enumeration;
-import java.util.UUID;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.LinkedTransferQueue;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TransferQueue;
-
-import fi.utu.tech.telephonegame.util.ConcurrentExpiringHashSet;
-
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
 import java.io.IOException;
 import java.net.Inet6Address;
 import java.net.InetAddress;
@@ -30,9 +22,6 @@ public class NetworkService extends Thread implements Network {
 	public TransferQueue<Object> inQueue = new LinkedTransferQueue<Object>();
 	private CopyOnWriteArrayList<ClientHandler> clientList = new CopyOnWriteArrayList<ClientHandler>();
 	private Resolver resolver;
-    private DataInputStream  input   = null;
-    private DataOutputStream out     = null;
-    private Network n;
 	
 
 	/*
@@ -94,6 +83,7 @@ public class NetworkService extends Thread implements Network {
 
 		for(ClientHandler c :clientList) {
 			c.send(env);
+			System.out.println("Envelope sent. " + c );
 		}
 	}
 	
@@ -105,6 +95,7 @@ public class NetworkService extends Thread implements Network {
 	public void postMessage(Object outMessage) {
 		try {
 			inQueue.offer(outMessage, 1, TimeUnit.SECONDS);
+			System.out.println("Object offered. " + outMessage );
 		} catch (InterruptedException e) {
 			e.printStackTrace();
 		}