nav abstraction
update