Added caching framework