Сделан рефакторинг и поправлены тесты