OO Redesign

Small redesign. Now more of an OO approach to save resources and such.