added User model with authentication