inheritance and mixin modules