first version of the cache