added user model and validations