added basic LRU Cache implementation