allow subclass construction with any number of args