invalidate implementation