Algorithm - Uncomplete

This is what John and I have done for the algorithm... I will be
finishing it up in the morning.  It is definitely not the most efficient
algorithm, but it should work when it is done, and we can clean it up
and add efficiency later; for now we wanted to get it working.