added modified caching behavior