module base and derived class hier structure