starting with lru cache