Нервные изменения всего понемножку, кроме собственно итераторов
Далее буду менять классы в соответствующих ветках