updated mbm implementation