Slight shift to OOP approach