encapsulating cache implementation
encapsulating cache implementation