rename identityMap to cacheStore, and change behavior