refactor algorithm, add HCL (hue chroma lightness).