Updated alg3