     return (red: r, green: g, blue: b, alpha: a)
   }
   
+  /// Return RGB components with Int type (bewteen 0 and 255)
   var rgbComponents: (red: Int, green: Int, blue: Int) {
     let comps = rgbaComponents
     return (red: Int(comps.red * 255.0), green: Int(comps.green * 255.0), blue: Int(comps.blue * 255.0))
   }
   
+  /// Return hexadecimal value string of this color (start with "#")
   var hexString: String {
     let components: [Int] = {
       let c = cgColor.components!

// MARK: - Initializers

public extension UIColor {
  convenience init(red: Int, green: Int, blue: Int, transparency: CGFloat = 1) {
    assert(red >= 0 && red <= 255, "Invalid red")
    assert(green >= 0 && green <= 255, "Invalid green")

    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
    var g: CGFloat = 0
