Navigation cleanup and rewrite