updated design for lfu cache