constructors as optional value setters