begin refactoring navigator
finish refactoring