make Path a lot simpler, update all code and tests to deal with that