navigation logic and tests adjusted