Adds Caching functionality