improve drawer, it could be triggered by button