cache abstraction - fix needed