improve iterators and add a method comment