Refactor the navigation strategy