private void readyListen() throws IOException {
		Object messageRecv;
		do {
			// Have a connection
			try {
				messageRecv = input.readObject();
				if (messageRecv instanceof NodePacket)
				{
					nodePacketRecv = (NodePacket) messageRecv; // Read incomming stream
					//Check if the packet is for chair information or player
					if (nodePacketRecv.getName().indexOf("chair") > -1) {
						mcg.updateChair(nodePacketRecv);
					}
					else {
						mcg.updatePlayer(nodePacketRecv);
						mcg.node.sendToRight(nodePacketRecv);
					}
				}
				else
				{
					if (messageRecv instanceof MessagePacket) {
						messagePacketRecv = (MessagePacket) messageRecv;
						if (messagePacketRecv.getMessage().equals("START"))
						{
							mcg.startTimer();
							node.sendMessageRight(messagePacketRecv);
						}
					}
					else {
					    if (messageRecv instanceof State) {
					        State incoming_state = (State) messageRecv;
					        //System.out.println("Incoming state from : "+incoming_state.getIP());
					        node.receiveNeighbourState(incoming_state);
					        node.sendStateRight(incoming_state);
					    }
					    else {
					        if (messageRecv instanceof Vote) {
                                Vote incoming_vote = (Vote) messageRecv;
                                //System.out.println("Incoming state from : "+incoming_state.getIP());
                                node.receiveVote(incoming_vote);
                                node.sendVoteRight(incoming_vote);
					        }
					    }
					}
				}
			} catch (ClassNotFoundException cnfException) {
				System.out.println("\nUser sent some corrupted data...");
			}
		} while (true);

	}