added theme changer with strategy and template pattern