added caching middleware, settings