class hierarchy builder WIP