new estimation algorithm