class hierarchy updates