attempt at requiring noargs constructor