in reply to detemining the calling pakage

The first parameter in @_ in the constructor subroutine should be the class name, even if it is called from a derived class.