switch to an lru cache