use .all to iterate m2m