model associations and validations
user authentication