update invertible mpm, still need debug