refactored navigation controller and service