Better theme support, new way to handle themes, still todo caching