Trying a more object oriented approach.