added tests for module diffusion, which directly caught some bugs