anchor.diff:      notifyListeners();
     }
   
  -  ///FETCH USER PROFILE FROM SERVER
  +  /// Fetch the [UserProfileModel] from the server if the user is logged in
  +  /// if the user has no profile in the db then we create on by invoking [createNewUser]
  +  /// invoke [postUserProfile] once user profile is created
  +  /// if user has a profile then we invoke [updateUserProfileModel]
     Future getUserProfile() async {
       _error = null;
       _isLoading = true;
  
positive.code:     }
      temp = authBox.get('AuthenticationModel');
      _authenticationModel = temp;
      await refreshToken();
  
      Hive.registerAdapter(UserProfileModelAdapter());
      var userBox = await Hive.box<UserProfileModel>('UserProfileModel');
      UserProfileModel tempUserProfile = UserProfileModel.fromJson({});
      if (userBox.get('UserProfileModel') == null) {
        await userBox.put('UserProfileModel', tempUserProfile);
      }
      tempUserProfile = userBox.get('UserProfileModel');
      _userProfileModel = tempUserProfile;
    }
  
    ///Save encrypted password to device
    void saveEncryptedPasswordToDevice(String encryptedPassword) {
      storage.write(key: 'encrypted_password', value: encryptedPassword);
    }
  
    ///Get encrypted password that has been saved to device
    Future<String> getEncryptedPasswordFromDevice() {
      return storage.read(key: 'encrypted_password');
    }
  
    ///Save email to device
    void saveUsernameToDevice(String username) {
      storage.write(key: 'username', value: username);
    }
  
    ///Get email from device
    Future<String> getUsernameFromDevice() {
      return storage.read(key: 'username');
    }
  
    void deleteUsernameFromDevice() {
      storage.delete(key: 'username');
    }
  
    void deletePasswordFromDevice() {
      storage.delete(key: 'password');
    }
  
    ///Encrypt given username and password and store on device
    void encryptLoginInfo(String username, String password) {
      // TODO: import assets/public_key.txt
      final String pkString = '-----BEGIN PUBLIC KEY-----\n' +
  
negative.code:     saveEncryptedPasswordToDevice(base64EncodedText);
    }
  
    /// Logs user in with saved credentials on device
    /// If this login mechanism fails then the user is logged out
    Future<bool> silentLogin() async {
      String username = await getUsernameFromDevice();
      String encryptedPassword = await getEncryptedPasswordFromDevice();
  