new algorithm added