added cache.clj