cont rewrite iterators