refactoring and relative path