Updated algorithm...