pushing more functions down into path_builder