First Review Notes

Kit,

Please try to check out each commit. Each commit message is a comment about the change. When I dig into code for the first time I like to "Refactor for Understanding" as my friend Jim Weirich used to say. So the first few changes are pretty trivial. But then I found a weakness in the algorithm that you should check out. Let me know what you come up with!