removed dependence on MP