code for LRUCache