             // image
             if (object is String) {
                 var stringValue = (object as! String)
-                let match = imageRegExpr.firstMatch(in: stringValue, options:NSRegularExpression.MatchingOptions(rawValue: UInt(0)), range: NSMakeRange(0, stringValue.characters.count))
+                let match = NSDictionary.imageRegExpr?.firstMatch(in: stringValue, options:NSRegularExpression.MatchingOptions(rawValue: UInt(0)), range: NSMakeRange(0, stringValue.characters.count))
                 if match?.numberOfRanges == 6 {
                     let isNamedType = stringValue.substring(withNSRange: match!.rangeAt(2)) == "named"
                     let imageName = stringValue.substring(withNSRange: match!.rangeAt(3))

        return evaluatedObjectAsThemeAsset(value: stringValue as AnyObject)
    }
    
    // MARK: Internal evaluation functions
    
    /// Evaluate object for the specified key as string.

            // rgb/rgba color
            if (object is String) {
                var stringValue = (object as! String)
                let match = NSDictionary.colorRegExpr?.firstMatch(in: stringValue, options:NSRegularExpression.MatchingOptions(rawValue: UInt(0)), range: NSMakeRange(0, stringValue.characters.count))
                if match?.numberOfRanges == 5 {
                    let red = Float(stringValue.substring(withNSRange: match!.rangeAt(1)))! / 255
                    let green = Float(stringValue.substring(withNSRange: match!.rangeAt(2)))! / 255
