updated the algorithm description