         let blue = rgbComponents[2]
         
         let black = 1 - max(max(red, green), blue)
-        if black == 1 {
-            return [0, 0, 0, 1]
-        }
+        if black == 1 { return [0, 0, 0, 1] }
         
         let cyan =  (1 - red - black) / (1 - black)
         let magenta =  (1 - green - black) / (1 - black)

        return hexValue
    }
    
    public var redValue: UInt {
        return UInt(rgbComponents[0] * 255)
    }
    
    public var greenValue: UInt {
        return UInt(rgbComponents[1] * 255)
    }
    
    public var blueValue: UInt {
        return UInt(rgbComponents[2] * 255)
    }
    
    //MARK: CMYK
    public convenience init(cyan: Float, magenta: Float, yellow: Float, black: Float, alpha: Float) {
        
        let red = (1 - cyan) * (1 - black)
        let green = (1 - magenta) * (1 - black)

    
    //MARK: Public Methods
    //MARK: RGB
    convenience init(rgbHexString: String, alpha: Float = 1.0) {
        
        var rgbHex = rgbHexString
        UIColor.clean(&rgbHex, expectedLength: 6)
        self.init(rgbHexValue: UIColor.hexValue(from: rgbHex), alpha: alpha)
    }
    
    convenience init(rgbHexValue: UInt64, alpha: Float = 1.0) {

        self.init(red: CGFloat((rgbHexValue & 0xFF0000) >> 16)/255,
                  green: CGFloat((rgbHexValue & 0xFF00) >> 8)/255,
                  blue: CGFloat(rgbHexValue & 0xFF)/255,
                  alpha: CGFloat(alpha))
    }
    
    var rgbHexString: String {
        rgbComponents.map({ String(format: "%02x", arguments: [UInt($0 * 255)]) }).joined()
    }
    
    var rgbHexValue: UInt {
        
        let rgbValues = rgbComponents
        var hexValue: UInt = 0
