add assert, define zeroMMFunc and identityMMFunc