public void getResponse(String input) throws InterruptedException {
		Thread.sleep( SLEEPTIME ); // try to watch what is happening

		if(input.equalsIgnoreCase(Messages.ASK_FOR_MOVE)){
			printBoard();
			String move = getMove();
			this.clientOutput.println("MOVE " + move);

		} else if(input.startsWith(Messages.TELL_MOVE)){
			printBoard();
			System.out.println(input + " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
			Scanner info = new Scanner(input);
			info.next();
			String playerID = info.next();
			String moveMade = info.next();
			parseIncomingMove( moveMade, Integer.parseInt( playerID ) );
			System.out.println("Player " + playerID + " made move: " + moveMade );
			info.close();
		} else if(input.startsWith(Messages.START_GAME)){
			System.out.println( input );
			Scanner getID = new Scanner(input);
			getID.next();
			this.playerId = Integer.parseInt(getID.next());
			int numLeft = 0;
			while( getID.hasNext() ){
				numLeft++;
				getID.next();
			}
			if( numLeft == 1 )
				setupBoards( 2 );
			else
				setupBoards( 4 );
			Nigel.playerID = this.playerId;
			this.clientOutput.println(Messages.READY + " " + this.identifier);
			System.out.println("Playing as player # " + this.playerId);
			getID.close();
		} else if(input.startsWith(Messages.REMOVED)){
			Scanner removed = new Scanner(input);
			removed.next();
			int player = Integer.parseInt(removed.next());
			if(player == this.playerId) {
				System.out.println("You have been removed for illegal moves.");
				this.hasWon = false;
			} else {
				removePlayer( player );
				System.out.println("Player " + player + " has been removed");
			}
			removed.close();
		} else if(input.startsWith(Messages.WINNER)) {
			Scanner win = new Scanner(input);
			win.next();
			int player = Integer.parseInt(win.next());
			win.close();
			this.hasWon = false;
			if(player == this.playerId){
				System.out.println("You won!");
			} else {
				System.out.println("Player " + player + " won! You lose!");
			}
		}
	}