public boolean executeMove(Board board) {
		boolean success = false;
		int h = Util.firstEmptyPosition(board, this.getCol());	
		//Check whether column is valid
		if (!Util.isColumnValid(board, this.getCol())) {
			success = false;
		} 
		else {
			if (h < Util.ERRORTHRESHOLD) { // if the column is full I move all the Counters one cell down and do the first cell empty
				this.setOut(board.getPosition(getCol(), board.getHeight()));
				board = this.moveDownCells(board, this.getCol());
			} else {
				this.setOut(Counter.EMPTY);
			}
			board.setPosition(this.getCol(), Util.firstEmptyPosition(board, this.getCol()), this.getPlayer());// to put the counter in the first empty position
			success = true;	
		}
		return success;
	}