Initial navigation behavior.  Need to dry out code and handle edge cases.