             switch ele {
             case let .show(show):
                 self.show = show
-            case let .position(position):
-                self.position = position
+            case let .precision(precision):
+                self.precision = precision
+            case let .formatter(formatter):
+                self.formatter = formatter
+            case let .margin(margin):
+                self.margin = margin
             case let .textStyle(textStyle):
                 self.textStyle = textStyle
-            }
-        }
-    }
-}
-
-extension CommonLabelStyle: Mappable {
-    public func mapping(map: Mapper) {
-        map["show"] = show
-        map["position"] = position
-        map["textStyle"] = textStyle
-    }
-}
-
-public final class Label: Emphasisable {
-    
-    public typealias Style = CommonLabelStyle
-    
-    public var normal: Style?
-    public var emphasis: Style?
-    
-    public init() { }
-}
-
-public typealias EmphasisLabel = Label
-
-extension Label: Enumable {
-    public enum Enums {
-        case normal(Style), emphasis(Style)
-    }
-    
-    public typealias ContentEnum = Enums
-    
-    public convenience init(_ elements: Enums...) {
-        self.init()
-        for ele in elements {
-            switch ele {
-            case let .normal(normal):
-                self.normal = normal
-            case let .emphasis(emphasis):
-                self.emphasis = emphasis
+            case let .padding(padding):
+                self.padding = padding
+            case let .backgroundColor(backgroundColor):
+                self.backgroundColor = backgroundColor
+            case let .borderColor(borderColor):
+                self.borderColor = borderColor
+            case let .borderWidth(borderWidth):
+                self.borderWidth = borderWidth
+            case let .shadowBlur(shadowBlur):
+                self.shadowBlur = shadowBlur
+            case let .shadowColor(shadowColor):
+                self.shadowColor = shadowColor
+            case let .shadowOffsetX(shadowOffsetX):
+                self.shadowOffsetX = shadowOffsetX
+            case let .shadowOffsetY(shadowOffsetY):
+                self.shadowOffsetY = shadowOffsetY
             }
         }
     }


extension Label: Mappable {
    public func mapping(map: Mapper) {
        map["normal"] = normal
        map["emphasis"] = emphasis
    }
}

public final class FormattedLabelStyle: LabelStyle, Formatted {

//  Copyright © 2017 com.pluto-y. All rights reserved.
//

public final class Label: Displayable, Formatted, Shadowable, Textful, Borderable {
    public var show: Bool?
    public var precision: UInt8?
    public var formatter: Formatter?
    public var margin: Float?
    public var textStyle: TextStyle?
    public var padding: Padding?
    public var backgroundColor: Color?
    public var borderColor: Color?
    public var borderWidth: Float?
    public var shadowBlur: Float?
    public var shadowColor: Color?
    public var shadowOffsetX: Float?
    public var shadowOffsetY: Float?
}

extension Label: Enumable {
    public enum Enums {
        case show(Bool), precision(UInt8), formatter(Formatter), margin(Float), textStyle(TextStyle), padding(Padding), backgroundColor(Color), borderColor(Color), borderWidth(Float), shadowBlur(Float), shadowColor(Color), shadowOffsetX(Float), shadowOffsetY(Float)
    }
    
    public typealias ContentEnum = Enums
