improve algorithm description