a container for all algorithms