class hierarchy changed