Функциональность переписана с помощью функций