 }
 
 extension SECOption : SECEnumable {
-	public enum Enums {
-		case title(SECTitle), legend(SECLegend), grid([SECGrid]), xAxis([SECAxis]), yAxis([SECAxis]), polar(SECPolar), radiusAxis([SECRadiusAxis]), angleAxis([SECAngleAxis]), radar(SECRadar), dataZoom([SECDataZoom]), visualMap(SECVisualMap), tooltip(SECTooltip), toolbox(SECToolbox), brush(SECBrush), geo(SECGeo), parallel(SECParallel), parallelAxis([SECParallelAxis]), singleAxis([SECSingleAxis]), timeline(SECTimeline), graphic([SECGraphic]), series([SECSeries]), color([SECColor]), backgroundColor(SECColor), textStyle(SECTextStyle), animation(Bool), animationThreshold(Float), animationDuration(SECTime), animationEasing(SECAnimation), animationDelay(SECTime), animationDurationUpdate(SECTime), animationEasingUpdate(SECAnimation), animationDelayUpdate(SECTime)
-	}
-
-	public typealias ContentEnum = Enums
-
-	public init(_ elements: Enums...) {
-		for ele in elements {
-			switch ele {
-				case let .title(title):
-					self.title = title
-				case let .legend(legend):
-					self.legend = legend
-				case let .grid(grid):
-					self.grid = grid
-				case let .xAxis(xAxis):
-					self.xAxis = xAxis
-				case let .yAxis(yAxis):
-					self.yAxis = yAxis
-				case let .polar(polar):
-					self.polar = polar
-				case let .radiusAxis(radiusAxis):
-					self.radiusAxis = radiusAxis
-				case let .angleAxis(angleAxis):
-					self.angleAxis = angleAxis
-				case let .radar(radar):
-					self.radar = radar
-				case let .dataZoom(dataZoom):
-					self.dataZoom = dataZoom
-				case let .visualMap(visualMap):
-					self.visualMap = visualMap
-				case let .tooltip(tooltip):
-					self.tooltip = tooltip
-				case let .toolbox(toolbox):
-					self.toolbox = toolbox
-				case let .brush(brush):
-					self.brush = brush
-				case let .geo(geo):
-					self.geo = geo
-				case let .parallel(parallel):
-					self.parallel = parallel
-				case let .parallelAxis(parallelAxis):
-					self.parallelAxis = parallelAxis
-				case let .singleAxis(singleAxis):
-					self.singleAxis = singleAxis
-				case let .timeline(timeline):
-					self.timeline = timeline
-				case let .graphic(graphic):
-					self.graphic = graphic
-				case let .series(series):
-					self.series = series
-				case let .color(color):
-					self.color = color
-				case let .backgroundColor(backgroundColor):
-					self.backgroundColor = backgroundColor
-				case let .textStyle(textStyle):
-					self.textStyle = textStyle
+    public enum Enums {
+        case title(SECTitle), legend(SECLegend), grid(SECGrid), grids([SECGrid]), xAxis([SECAxis]), yAxis([SECAxis]), polar(SECPolar), radiusAxis([SECRadiusAxis]), angleAxis([SECAngleAxis]), radar(SECRadar), dataZoom([SECDataZoom]), visualMap(SECVisualMap), tooltip(SECTooltip), toolbox(SECToolbox), brush(SECBrush), geo(SECGeo), parallel(SECParallel), parallelAxis([SECParallelAxis]), singleAxis([SECSingleAxis]), timeline(SECTimeline), graphic([SECGraphic]), series([SECSeries]), color([SECColor]), backgroundColor(SECColor), textStyle(SECTextStyle), animation(Bool), animationThreshold(Float), animationDuration(SECTime), animationEasing(SECAnimation), animationDelay(SECTime), animationDurationUpdate(SECTime), animationEasingUpdate(SECAnimation), animationDelayUpdate(SECTime)
+    }
+    
+    public typealias ContentEnum = Enums
+    
+    public init(_ elements: Enums...) {
+        for ele in elements {
+            switch ele {
+            case let .title(title):
+                self.title = title
+            case let .legend(legend):
+                self.legend = legend
+            case let .grid(grid):
+                self.grid = SECOneOrMore(one: grid)
+            case let .grids(grids):
+                self.grid = SECOneOrMore(more: grids)
+            case let .xAxis(xAxis):
+                self.xAxis = xAxis
+            case let .yAxis(yAxis):
+                self.yAxis = yAxis
+            case let .polar(polar):
+                self.polar = polar
+            case let .radiusAxis(radiusAxis):
+                self.radiusAxis = radiusAxis
+            case let .angleAxis(angleAxis):
+                self.angleAxis = angleAxis
+            case let .radar(radar):
+                self.radar = radar
+            case let .dataZoom(dataZoom):
+                self.dataZoom = dataZoom
+            case let .visualMap(visualMap):
+                self.visualMap = visualMap
+            case let .tooltip(tooltip):
+                self.tooltip = tooltip
+            case let .toolbox(toolbox):
+                self.toolbox = toolbox
+            case let .brush(brush):
+                self.brush = brush
+            case let .geo(geo):
+                self.geo = geo
+            case let .parallel(parallel):
+                self.parallel = parallel
+            case let .parallelAxis(parallelAxis):
+                self.parallelAxis = parallelAxis
+            case let .singleAxis(singleAxis):
+                self.singleAxis = singleAxis
+            case let .timeline(timeline):
+                self.timeline = timeline
+            case let .graphic(graphic):
+                self.graphic = graphic
+            case let .series(series):
+                self.series = series
+            case let .color(color):
+                self.color = color
+            case let .backgroundColor(backgroundColor):
+                self.backgroundColor = backgroundColor
+            case let .textStyle(textStyle):
+                self.textStyle = textStyle
             case let .animation(animation):
                 self.animation = animation
             case let .animationThreshold(animationThreshold):

public struct SECOption : SECTextful, SECAnimatable {
    public var title: SECTitle?
    public var legend: SECLegend?
    public var grid: [SECGrid]?
    public var xAxis: [SECAxis]?
    public var yAxis: [SECAxis]?
    public var polar: SECPolar?

        map["animationDurationUpdate"] = animationDurationUpdate
        map["animationEasingUpdate"] = animationEasingUpdate
        map["animationDelayUpdate"] = animationDelayUpdate
    }
}
