protected void applyMove(int turnNumber, Move move) throws InvalidMoveException
	{
		if (move.column >= GameConstants.NUM_COLUMNS
			|| move.column < 0)
		{
			throw new InvalidMoveException();
		}

		int column = move.column;

		//--Start in the bottom-most row
		int row = GameConstants.NUM_ROWS - 1;
		Piece moveLocation = boardArray[row][column];

		for (int i = 0; i < GameConstants.NUM_ROWS; i++)
		{
			if (boardArray[row - i][column] == null)
			{
				boardArray[row - i][column] = new Piece(row - i, column, move.getPlayerColor(), turnNumber);
				numPieces[column]++;
				return;
			}
		}

		throw new InvalidMoveException();
	}