Update the auth module, and refactor user model.