isMoveValid now also takes a boolean flagging whether this move is to take another chess piece at the position - done to ensure isMoveValid can properly be used with pawns