User model
Add user data validation
Add user password authentication
merge conflicts