Initial Commit
Tidy up methods common to all algorithms into one module