Add request caching