Refactoring Anderson's code. put it all out to a different class. about to extract the tests too.
Extracted Anderson's Tests Outside