brief description of the algorithms