changed models to match has many tthrough