added method m2()