Refactor: move createFullPath()