oop: beginnings of OOP! :O