     switch hexString.length
       when 3, 4
         if hexString.length == 4
-          alpha = ((parseInt(hexString.substr(3, 1), 16) * 0x11) / 255.0)
+          alpha = ((parseInt(hexString.substr(3, 1), 16) * 0x11) / 255)
         else
-          alpha = 1.0  
+          alpha = 1
 
         rgb = (parseInt(hexString.substr(i, 1), 16) * 0x11 for i in [0..2])      
         rgb.push(alpha)    


    parsedColor = (parseFloat channel for channel in channels[1..3])
    parsedColor[0] = parsedColor[0]
    parsedColor[3] ||= 1.0

    return hslToRgb(parsedColor)

  hslToRgb = (hsl) ->    
    [h, s, l, a] = (parseFloat(channel) for channel in hsl)

    h /= 360.0
    a ||= 1.0

    r = g = b = null


      @copy().complement$() 

    complement$: ->
      @hue$(180)

    copy: ->
