feat: add customizable theme