better way to assemble path