refactored drawerThread