incomplete algorithm