simplified optional, allows null also during construction
renamed get to value