Split out path building logic
Simplify reject