caching mechanisms