diffuse coevolution