perhaps it is worth to add guard check in initializer the value is not nil