     let green = CGFloat(drand48())
     let blue = CGFloat(drand48())
     let alpha = CGFloat(drand48())
-
+    
     #if os(iOS) || os(tvOS) || os(watchOS)
       return Color(red: red, green: green, blue: blue, alpha: alpha)
     #else
       return Color(srgbRed: red, green: green, blue: blue, alpha: alpha)
     #endif
   }
-
-
+  
+  
   /// **Mechanica**
   ///
   /// Returns a sRGB color from a hexadecimal integer.

    guard let (r, g, b, a) = self.rgba else { fatalError("Couldn't calculate RGBA values") }
    return (UInt32(r) << 32) | (UInt32(g) << 16) | UInt32(b) << 8 | UInt32(a)
  }

  //TODO: UInt32 to RGB

  //TODO: UInt32 to RGBA


}



  ///   - hexString: The hex color string **#RRGGBB** (e.g.: "#551a8b", "551a8b", "551A8B", #FFF).
  ///   - alpha: The opacity value for the color (default = 1.0)
  public convenience init?(hexString: String, alpha: CGFloat = 1) {
    
    guard !hexString.isBlank else { return nil }
    
    var formattedHexString = hexString.hasPrefix("#") ? String(hexString.characters.dropFirst()) : hexString
    
    guard formattedHexString.length == 6 || formattedHexString.length == 3 else { return nil }
    
    //shortcut hex color, i.e. f0f becomes f0ff0f
    if (formattedHexString.length == 3) {
      let newHexString = formattedHexString[0]!*2 + formattedHexString[1]!*2 + formattedHexString[2]!*2
      formattedHexString = newHexString
    }
    
    var hexEquivalent: UInt32 = 0
    Scanner(string: formattedHexString).scanHexInt32(&hexEquivalent)
    self.init(hex: hexEquivalent, alpha: alpha)
  }
  
  /// **Mechanica**
  ///
  /// Returns the hexadecimal string representation of `self` in the sRGB space.
  public final var hexString: String {
    return String(format:"#%06x", rgbUInt32)
  }
  
  /// **Mechanica**
  ///
  /// Returns an UInt32 representation of `self` in the sRGB space without alpha channel.
