clean up
iterator style