Add caching capabilities

cache