reworked theme change system