fulfills many-to-many requirements