updated alg