Переделанный вариант.