First iterator version