refac:extracted drawer controller