Tests all pass.  Code not pretty yet.