construct from __PACKAGE__