added tag model, with associations and validations