made valid_move? a little clearer I guess