a better version of MMSVMCost