testing a more OOP design