just to demonstrate some OO concept