Many updates to class hierarchy