refactor Path