update event handling; use moveNext() and current of Iterator