Create cache.h

handle caching