making use of caching implementations