refactoring navigator