функция более высокого уровня