nav enhancements, refactor to privates