sample code to test DI and other OOP structures