move sidenav into its own component