centralized more code shared between search and navigator