basic model relationships & validations