     
     public var password: String? {
         get {
-            return getProfileObject(profileKey: SBAProfileInfoOption.password.rawValue, appCoreKey: kPasswordPropertyKey) as? String
-        }
-        set (newValue) {
-            setProfileObject(newValue as NSSecureCoding?, profileKey: SBAProfileInfoOption.password.rawValue, appCoreKey: kPasswordPropertyKey)
-        }
-    }
-
+            return getKeychainObject(kPasswordPropertyKey) as? String
+        }
+        set (newValue) {
+            setKeychainObject(newValue as NSSecureCoding?, key: kPasswordPropertyKey)
+        }
+    }
+
+    @available(*, deprecated)
     public var gender: HKBiologicalSex {
         get {
             let rawValue = getProfileObject(profileKey: SBAProfileInfoOption.gender.rawValue, appCoreKey: kGenderKey)

    let kProfileImagePropertyKey = "profileImage"
    let keychainPropertyKeys = ["externalId", "gender", "birthdate", "profileImage"]
    
    public var sessionToken: String? {
        get {
            return getKeychainObject(kSessionTokenKey) as? String

        }
    }
    
    private func setProfileObject(_ object: NSSecureCoding?, profileKey: String, appCoreKey: String?) {
        do {
            try profileManager?.setValue(object, forProfileKey: profileKey);
        }
        catch {
            if appCoreKey != nil {
                debugPrint("Could not set item on profile manager for \(profileKey). Falling back to \(appCoreKey!) keychain value.")
                setKeychainObject(object, key: appCoreKey!)
            }
        }
    }
    
