add a simple memory cache