inheritance and modules