     return (hue: h, saturation: s, brightness: b, alpha: a)
   }
   
-  
   /// Return RGBA components with CGFloat type (betweem 0.0 and 1.0)
   var rgbaComponents: (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) {
     var r: CGFloat = 0

    self.init(red: red, green: green, blue: blue, alpha: alpha)
  }
  
  /// Create a black or white UIColor object that constrasts to specified color.
  /// - Parameter backgroundColor: specified color
  convenience init(constrastingBlackOrWhiteColorOn backgroundColor: UIColor) {

    let comps = rgbaComponents
    return (red: Int(comps.red * 255.0), green: Int(comps.green * 255.0), blue: Int(comps.blue * 255.0))
  }

  var hexString: String {
    let components: [Int] = {
      let c = cgColor.components!
