Something to replace free\reversed, seeing as those aren't applicable here..
Reversed:
1: finish a run
2: the last CP you used, is now the start
3: (sort of acts like reversed at this point)
4: you hit the new start, and have to take all the other CPs, INCLUDING the original start trigger?
Free:
Maybe: from start -> the furthest away cp