optim
fix mdiff