iterator update