changed to a more encapsulated ood example