object oriented goodness