presentattion
algorithm