replaced has and belongs to many with has many through