adding partial implementation of cache