make caching work and also cache rates