Added the cache feature