generate constructors