abstracted the base ui elements, and the main drawer to hopefully be more flexible with other frameworks