exception now accepts messages array, moved saved outside change_password