user model and authentication.