user input model with associations and validations