Added more descriptions for algorithm