a collection of algorithm interface.