@Override
		public void mousePressed(MouseEvent e) {

			// only update their choice on their turn
			if (( (HumanPlayer) players.get(0)) .getHumanMustFinish()) {

				// find clicked cell
				int row = (e.getPoint().y - 2*board.cellYSize)/board.cellYSize;
				int col = e.getPoint().x/board.cellXSize;
				BoardCell clicked = board.getCellAt(board.calcIndex(row, col));
				boolean valid = false;

				// determine if it is a valid target
				for (BoardCell cell : board.getTargets()){
					if (clicked.equals(cell))
						valid = true;
				}

				if (valid) {
					((HumanPlayer) players.get(0)) .setLocation(clicked);

					board.unhighlightTargets();

					if (clicked.isRoom()) {
						RoomCell room = (RoomCell) clicked;
						suggest.setRoomForSuggestion(board.getRoom(room.getInitial()));
						suggest.setVisible(true);
					}

					((HumanPlayer) players.get(0)) .setHumanMustFinish(false);

				}
				else {
					JOptionPane.showMessageDialog(board, "That is not a valid target!", "Invalid Target", JOptionPane.INFORMATION_MESSAGE);
				}

			}
		}