draft for cacheCall