Navigation refactoring