refactor and document the drawer-view