add initializer generator