for some alg