Logic checks valid_move()