the alg is optimise
del