Add Move to provide better abstraction
Improve SimpleRoute, add shortest and test
Various minor changes