added cache management