don’t invalidate iterator