fixed class hierarchy