Adjusts to account for max_spots

Breaks out of algorithm when max_spots is reached