paths, tests, invariants and minor things left to do
doing paths