changed class hierarchy.