continued transition to OOP, fixed Makefile bug and cleaned up code