tinkering around with OO solutions