diff --git a/src/MEMClassifier.cc b/src/MEMClassifier.cc
index b2624b680e7a7c41421f80fb88098327ae672ab0..899eb332881f5dd0153f2edac19c51f45070cc3a 100644
--- a/src/MEMClassifier.cc
+++ b/src/MEMClassifier.cc
@@ -81,11 +81,13 @@ void MEMClassifier::setup_mem(
         MEM::Object* lep = make_lepton(lep_p4.Pt(), lep_p4.Eta(), lep_p4.Phi(), lep_p4.M(), selectedLeptonCharge[il]);
         objs.push_back(lep);
         integrand->push_back_object(lep);
+        std::cout << "adding lep " << lep->p4().Pt() << " charge " << lep->getObs(MEM::Observable::CHARGE) << std::endl;
     }
 
     assert(metP4.Pt() > 0);
-    MEM::Object met(metP4, MEM::ObjectType::MET );
-    integrand->push_back_object(&met);
+    MEM::Object* met = new MEM::Object(metP4, MEM::ObjectType::MET );
+    std::cout << "adding met pt " << met->p4().Pt() << " phi " << met->p4().Phi() << std::endl;
+    integrand->push_back_object(met);
 }
 
 MEMResult MEMClassifier::GetOutput(
@@ -116,7 +118,6 @@ MEMResult MEMClassifier::GetOutput(
             MEM::PSVar::cos_q1, MEM::PSVar::phi_q1, MEM::PSVar::cos_qbar1, MEM::PSVar::phi_qbar1
         }
     );
-
     std::cout << "MEM running background" << std::endl;
     MEM::MEMOutput res_bkg = integrand->run(
         MEM::FinalState::LH, MEM::Hypothesis::TTBB, {}, {
@@ -127,6 +128,7 @@ MEMResult MEMClassifier::GetOutput(
         delete o;
     }
     objs.clear();
+    integrand->next_event();
 
     res.p_sig = res_sig.p;
     res.p_bkg = res_bkg.p;
@@ -216,10 +218,10 @@ MEMClassifier::MEMClassifier() : cfg(MEM::MEMConfig()) {
 
     integrand = new MEM::Integrand(
         0
-        // MEM::DebugVerbosity::output
-        // |MEM::DebugVerbosity::init
-        // |MEM::DebugVerbosity::input
-        // |MEM::DebugVerbosity::init_more
+        //MEM::DebugVerbosity::output
+        //|MEM::DebugVerbosity::init
+        //|MEM::DebugVerbosity::input
+        //|MEM::DebugVerbosity::init_more
         // |MEM::DebugVerbosity::integration
         ,cfg
     );
diff --git a/test/mem.py b/test/mem.py
index 4c637b24b0df0e00e908e14ac10920146eb70d4f..ea3577ac48d4508384e82253bc4973c81ce29b38 100644
--- a/test/mem.py
+++ b/test/mem.py
@@ -39,7 +39,7 @@ for ev in events:
     c_loosejets_p4 = CvectorLorentz()
     c_loosejets_csv = Cvectordouble()
     if jsev["event"]["cat"].startswith("sl"):
-        print "tthbb13 blr=", jsev["event"]["blr"], "mem=", jsev["output"]["p_tth"], jsev["output"]["p_ttbb"], jsev["output"]["p"]
+        print "tthbb13 code blr=", jsev["event"]["blr"], "mem=", jsev["output"]["p_tth"], jsev["output"]["p_ttbb"], jsev["output"]["p"]
 
         ret = f.GetOutput(c_leps_p4, c_leps_charge, c_jets_p4, c_jets_csv, c_loosejets_p4, c_loosejets_csv, met_p4)
-        print "mem.py mem=", ret.p_sig, ret.p_bkg, ret.p
+        print "mem.py blr=", ret.blr_4b/(ret.blr_4b + ret.blr_2b), "mem=", ret.p_sig, ret.p_bkg, ret.p