better lru cache implemented...