Implement rest of Drawer API

add test cases for the drawer feature.