refactor top navigate