Refactor overhaul to OOP