Several modifications for the algorithm.
TODO: Move join between computing and moving so we can use the speed data to make MUCH better join choices.