Alternate implementations of algorithms finished