изменен алгоритм