#21 restructured mojo inheritance hierarchy