updated validate_move