set + lru cache