Add multilevel opportunistic caching