Object oriented solution