         guard let code = countryCode else { return nil }
         return NSLocale.currentLocale().displayNameForKey(NSLocaleCountryCode, value: code)
     }
-
+    
     var language: String? {
         return languageCode.flatMap { return NSLocale.currentLocale().displayNameForKey(NSLocaleLanguageCode, value: $0) }
     }

    var updateDictionary = [String: AnyObject]()
    
    public init?(json: JSON) {
        if let profileImage = Fields.Image.dictionary(json) {
            hasProfileImage = Fields.HasImage.bool(profileImage) ?? false
            if hasProfileImage {
                imageURL = Fields.ImageURL.string(profileImage)
            } else {
                imageURL = nil
            }
        } else {
            hasProfileImage = false
            imageURL = nil
        }
        username = Fields.Username.string(json)
        if let languages: [NSDictionary] = Fields.LanguagePreferences.array(json) {
            preferredLanguages = languages
        } else {
            preferredLanguages = nil
        }
        countryCode = Fields.Country.string(json)
        bio = Fields.Bio.string(json)
        parentalConsent = Fields.ParentalConsent.bool(json)
        birthYear = Fields.YearOfBirth.int(json)
    }
    
    var languageCode: String? {

        
        case LimitedProfile = "limited_profile" //computed field - determined by age & privacy api
        
    }
    
    let hasProfileImage: Bool
