optional initialization

fixes #18