@Override
        public void onClick(View v) {
          Log.i("hr.foi.debug", "UserProfileActivity -- initiated user update");

          String firstNameValue = firstName.getText().toString();
          String lastNameValue = lastName.getText().toString();
          String passwordValue = password.getText().toString();

          // if inputs are valid and passwords are matching
          if (Input.validate(inputs)
              && inputs.get(inputs.size() - 2).equals(inputs.get(inputs.size() - 1))) {

            Log.i("hr.foi.debug", "UserProfileActivity -- fetching user from session");

            Log.i(
                "hr.foi.debug",
                "UserProfileActivity --  user fetched from session " + user.toString());
            user.setName(firstNameValue);
            user.setSurname(lastNameValue);
            Credentials changedPassword =
                new Credentials(user.getCredentials().getUsername(), passwordValue);
            user.setCredentials(changedPassword);

            SessionManager manager = SessionManager.getInstance(getApplicationContext());

            Token userToken = manager.retrieveSession("token", Token.class);

            Log.i("hr.foi.debug", "UserProfileActivity --  calling web service ");

            UpdateHandler updateHandler = new UpdateHandler(UserProfileActivity.this, user);

            new ServiceAsyncTask(updateHandler)
                .execute(
                    new ServiceParams(
                        getString(hr.foi.rsc.webservice.R.string.persons_path) + user.getIdPerson(),
                        HttpMethod.PUT,
                        user,
                        userToken));
          }
        }