handle iterator() methods