changes to class hierarchy