improve invalidation