     public func convertFromXYZ(_ color: XYZColorModel) -> Model {
         let s = 216.0 / 24389.0
         let t = 24389.0 / 27.0
+        let white = cieXYZ.normalized.white.point
         let _white = XYZColorModel(luminance: 1, x: white.x, y: white.y)
         let m = 1 / (color.x + 15 * color.y + 3 * color.z)
         let n = 1 / (_white.x + 15 * _white.y + 3 * _white.z)

    
    public let cieXYZ: CIEXYZColorSpace
    public let transferMatrix: Matrix
    
    public init(white: XYZColorModel, black: XYZColorModel, red: XYZColorModel, green: XYZColorModel, blue: XYZColorModel) {
        self.cieXYZ = CIEXYZColorSpace(white: white, black: black)

    
    public typealias Model = LuvColorModel
    
    public let cieXYZ: CIEXYZColorSpace
    
    public var white: XYZColorModel {
        return cieXYZ.white
    }
    public var black: XYZColorModel {
        return cieXYZ.black
    }
    
    public init(white: Point) {
        self.cieXYZ = CIEXYZColorSpace(white: white)
    }
    public init(white: XYZColorModel, black: XYZColorModel) {
        self.cieXYZ = CIEXYZColorSpace(white: white, black: black)
    }
    public init(_ cieXYZ: CIEXYZColorSpace) {
        self.cieXYZ = cieXYZ
    }
}

extension CIELuvColorSpace {
    
    public func convertToXYZ(_ color: Model) -> XYZColorModel {
        let t = 27.0 / 24389.0
        let st = 216.0 / 27.0
        let white = cieXYZ.normalized.white.point
        let _white = XYZColorModel(luminance: 1, x: white.x, y: white.y)
        let n = 1 / (_white.x + 15 * _white.y + 3 * _white.z)
        let _uw = 4 * _white.x * n
