add cacheEnable property to control the cache