add utility function build_path