Cleanup from prior merge
Moved input into class
Massive OO refactoring.