Refactoring to allow for theming