navigation. still messy events