validations, password confirmation, and error messages