supporting several buffer cache strategies