using has_many through instead of habtm