change TMMemoryCache to NSCache