переделал
переделал тесты
переделал тесты
реструктурировал код
поправил инициализацию значений