altered models, migrations, and associated methods to reflect a 'has_many through' relationship