Caching functionality added