add an algorithm Dec 24th