Duplicate algorithms

closes #98