moved the move validation to the chessfactory