dramatically improved the iterators