initial stab at lru cache