Готовый вариант. Без логов и коррекции ошибок