+ new constructor
update constructors