Js algorithm implementation