path split refactor