fix perform_moves!