переделана проверка на соответствие типов