Added a bunch of algorithms.
We'll call this v1.0