cache invalidation implemented