Iterators now work in one pass