added iterating method