mapnav from scratch