add rgbToHsl function