     
     // MARK: - Accessors
     
-    public var name: String? {
-        
-        // FIXME: Is this correct?
-        
-        return self[cmsSigProfileDescriptionTag]
-    }
-    
     public var numberOfComponents: UInt {
         
         return UInt(cmsChannelsOf(cmsGetColorSpace(profile)))
+    }
+    
+    public var model: Model {
+        
+        let signature = cmsGetColorSpace(profile)
+        
+        switch signature {
+            
+        case cmsSigGrayData:
+            return .monochrome
+        case cmsSigRgbData:
+            return .rgb
+        case cmsSigCmykData:
+            return .cmyk
+        case cmsSigLabData:
+            return .lab
+        default:
+            return .unknown
+        }
     }
     
     // MARK: - Subscript


public extension ColorSpace {
    
    /// Grayscale color space with gamma 2.2 and a D65 white point.
    static let genericRGB: ColorSpace = ColorSpace(gray: ((0.9504, 1.0000, 1.0888), (0,0,0)), gamma: 2.2)
    
    static let genericGray: ColorSpace = ColorSpace(profile: cmsCreate_sRGBProfile()) // fixme
}

// MARK: - Supporting Types

public extension ColorSpace {
    
    public enum ProfileInfo {
        

        
        case read = "r"
        case write = "w"
    }
}

