implement lru and lfu strategies