finished mm_init