start redesign iterators
...