refactored nav-system