Feat/themes

Let me know if you want me to split this up into smaller pr's.