итераторы и range готовы
не тестировалось
небольшие косметические изменения в других классах