add many to many test
refactoring