working on the M=infinity case