OOP Finalized Changes

Finalized OOP modifications before merge