Solving the navigation problem