fixed excessive invalidation problem;