Add cacheWithPool()