break up code into classes and modules