much more work on PathFactory and its tests