@Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_registration);

    // session
    user =
        SessionManager.getInstance(getApplicationContext()).retrieveSession("person", Person.class);

    // binding
    firstName = (EditText) findViewById(R.id.firstNameInput);
    username = (EditText) findViewById(R.id.usernameInput);
    username.setClickable(false);
    lastName = (EditText) findViewById(R.id.lastNameInput);
    password = (EditText) findViewById(R.id.passwordInput);
    confirmPassword = (EditText) findViewById(R.id.confirmPasswordInput);
    change = (Button) findViewById(R.id.submitButton);

    // input fill
    firstName.setText(user.getName());
    lastName.setText(user.getSurname());
    username.setText(user.getCredentials().getUsername());
    password.setText(user.getCredentials().getPassword());

    change.setOnClickListener(onChange);

    // input validation
    inputs =
        Arrays.asList(
            new Input(firstName, Input.TEXT_MAIN_PATTERN, getString(R.string.firstname_error)),
            new Input(lastName, Input.TEXT_MAIN_PATTERN, getString(R.string.lastname_error)),
            new Input(password, Input.PASSWORD_PATTERN, getString(R.string.password_error)),
            new Input(
                confirmPassword,
                Input.PASSWORD_PATTERN,
                getString(R.string.matching_password_error)));

    // hide keyboard
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
  }