Final Submission with all algorithms Implimented