Initial OOP changes.