Basic Algorithm Complete/Needs Tweaks