prefer safe initializer by name storage