Refactoring + m2m cross test