added memory cache