added user model with authentication