new approach on cache.js