RefactoringForSimplicity

I refactored the code in a major way. I think it will be simpler now. I
should probably call Blake up to discuss this.