working on oo-refactor
implemented oop rewrite
Merge pull request #1 from DZittersteyn/oop-refactor

Oop refactor