Algoritm description