add caching back to themescontroller