init
simplifications
further simplifications
cleanup
hack to make drawer expansion work because fucking async