large code refactor to be object oriented
Merge pull request #1 from jmaxfield21/object-oriented

Object oriented code refactor