@Override
		public void run() {	

			// exit condition for thread
			while (controller.getState() != GAME_STATE.KILLED && input.hasNextLine()) {

				String strInput = input.nextLine();

				// listen to Game Inputs
				if (controller.getState() == GAME_STATE.RUNNING) {

					if (strInput.equals(CHAR_MOVE_LEFT)) {
						controller.processGameInput(PLAYER_INPUT.LEFT);
					} else if (strInput.equals(CHAR_MOVE_RIGHT)) {
						controller.processGameInput(PLAYER_INPUT.RIGHT);
					} else if (strInput.equals(CHAR_PAUSE_GAME)) {
						controller.processGameInput(PLAYER_INPUT.PAUSE);
					}


					// listen to menu Inputs
				} else {	
					if (strInput.matches("[0-9]+")){
						int in = Integer.valueOf(strInput);

						if (in >= 0 && in < MENU_ITEM.values().length) {
							controller.processMenuInput(MENU_ITEM.values()[in]);						
						}
					}
				}

			}

		}