rebased cache.js module