add caching to all views