broaden codebase to include different theme types