initial commit
Merge https://github.com/qpep/alg