     }
 }
 
-
 public struct ContactCard {
-    var version: VersionProperty
-    var kind: KindProperty?
+    public var version: VersionProperty
+    public var kind: KindProperty?
     public var name: NameProperty?
     public var formattedName: FormattedNameProperty
     public var nickname: NicknameProperty?

            var telProperty = TelProperty()
            telProperty.parameters = extractParameters(JSONParameters: property[PropertyIndex.parameters.rawValue])
            let value = property[PropertyIndex.value.rawValue].stringValue
            
            // TODO: Do some tel: URL processing
            telProperty.value = value as AnyObject
            
            phoneNumbers.append(telProperty)
            
        case PropertyName.email.rawValue:

            socialProfileProperty.parameters = extractParameters(JSONParameters: property[PropertyIndex.parameters.rawValue])
            
            let profileComponents = property[PropertyIndex.value.rawValue]  // an array of components
            guard profileComponents.count == 4
            else {
                print("ERROR: the x-social-profile property should have 4 components, not \(profileComponents.count)")
                throw JCardError.InvalidFormat
            }
            socialProfileProperty.service = profileComponents[0].stringValue
            socialProfileProperty.urlString = profileComponents[1].stringValue
            socialProfileProperty.userIdentifier = profileComponents[2].stringValue
            socialProfileProperty.username = profileComponents[3].stringValue

            socialProfileProperty.value = [profileComponents[0].stringValue, profileComponents[1].stringValue, profileComponents[2].stringValue, profileComponents[3].stringValue]

            socialProfiles.append(socialProfileProperty)
            print(socialProfileProperty)
            
        default:
            break
