add pname() to module interface; add ctor and virtual dtor for modules