added iterators and combiner