update functions, add nesting to navigate