refactor navigation trigger