     ]
     daisy queue
 
-  confirmCurrentPassword = (currentPasswordConfirmed, callback) ->
-    return callback null if currentPasswordConfirmed
+  confirmCurrentPassword = ({passwordConfirmed, email}, callback) ->
+    return callback null if passwordConfirmed
     new VerifyPasswordModal "Confirm", (currentPassword) ->
-      KD.remote.api.JUser.verifyPassword currentPassword, (err, confirmed) ->
-        return notify err.message if err
-        return notify "Current password cannot be confirmed" unless confirmed
+      options = {password: currentPassword, email}
+      KD.remote.api.JUser.verifyPassword options, (err, confirmed) ->
+        return callback err.message  if err
+        return callback "Current password cannot be confirmed" unless confirmed
         callback null
 
   viewAppended:->

          if err
            notify "An error occured"
            return queue.next()
          else
            currentPasswordConfirmed = true unless user.passwordStatus is "valid"
            confirmCurrentPassword currentPasswordConfirmed, =>
              JUser.changePassword password, (err,docs)=>
                @emailForm.inputs.password.setValue ""
                @emailForm.inputs.confirm.setValue ""
                if err
                  return queue.next()  if err.message is "PasswordIsSame"
                  return  notify err.message
                return queue.next()
      =>
        # if everything is OK or didnt change, show profile updated modal
        notify "Your account information is updated." if profileUpdated

    {email, password, confirmPassword, firstName, lastName, username} = formData

    profileUpdated = yes
    passwordConfirmed = no
    queue = [
      =>
        # update firstname and lastname
