added theme concept, not fully baked yet tho