algorithms add
Merge branch 'draft' into gavin