improvements to build_path