edited iterate