add mmhp and mmmp
separate processing from parsing