theorically final version of algorithm