allowing constructor prototypes