Using simple_order_cycle where applicable

Before: 3 minutes 0 seconds
After:  1 minute 21.02 seconds
Using simple_order_cycle

Before: 2 minutes 8.7 seconds
After:  16.11 seconds
Using simple_order_cycle

Before: 2 minutes 58.3 seconds
After:  35.04 seconds