diff --git a/JEC/bin/fit.h b/JEC/bin/fit.h
index f181033cc7bd3ad0f63ec9c27770c31ec1757656..d0eb85343e91a7de8857e064419bf03ff16c0e1f 100644
--- a/JEC/bin/fit.h
+++ b/JEC/bin/fit.h
@@ -47,8 +47,8 @@ protected:
             const char * what = Form("Fit parameter %d is not finite", i);
             BOOST_THROW_EXCEPTION( std::runtime_error(what) );
         }
-        delete p;
-        delete e;
+        delete[] p;
+        delete[] e;
     }
 
     ////////////////////////////////////////////////////////////////////////////
diff --git a/JEC/bin/fitJetResolution.cc b/JEC/bin/fitJetResolution.cc
index 3862c0f88fe21ae5ed878a604a4e23276c1f4efb..4b2da5e5323d182742c31076aaa352cb1ccdaba1 100644
--- a/JEC/bin/fitJetResolution.cc
+++ b/JEC/bin/fitJetResolution.cc
@@ -215,7 +215,7 @@ void loopDirsFromFitResponse (TDirectory * dIn,
             if ( TString(res->GetName()).Contains("Fail") ) continue;
 
             // Fit resolution
-            FitResolution(dOut, move(res), steering);
+            FitResolution(dOut, std::move(res), steering);
         }
         else cout << orange << "Ignoring " << key->ReadObj()->GetName() << " of `"
                   << key->ReadObj()->ClassName() << "` type" << def << endl;
diff --git a/JEC/bin/fitJetResponse.cc b/JEC/bin/fitJetResponse.cc
index 4f75f1e078502b8d5c9210dffed7b71e4f1133d1..8ab7d838acb3808d0a63fc453babd9f11706eac9 100644
--- a/JEC/bin/fitJetResponse.cc
+++ b/JEC/bin/fitJetResponse.cc
@@ -405,7 +405,7 @@ void FitResponseByBin (TDirectory * dir,
 
         // Calculating Cumulative response histogram and storing it to directory
         auto hc_tmp = dynamic_cast<TH1*>( h->Clone("hc_tmp") );
-        auto hc = CumulativeResponse(move(hc_tmp)); // Cumulative response
+        auto hc = CumulativeResponse(std::move(hc_tmp)); // Cumulative response
         hc->SetNameTitle("h_cumulative", hlt_title);
         hc->SetDirectory(d_pt);
         hc->Write();
@@ -499,7 +499,7 @@ void loopDirsFromGetResponse (TDirectory * dIn,
                 TDirectory * dddOut = ddOut->mkdir(Form("etabin%d", etabin), title);
                 cout << bold << dddOut->GetPath() << def << endl;
 
-                FitResponseByBin(dddOut, move(hist2D), steering);
+                FitResponseByBin(dddOut, std::move(hist2D), steering);
             }
         }
         else cout << orange << "Ignoring " << key->ReadObj()->GetName() << " of `"
diff --git a/JEC/interface/JMEmatching.h b/JEC/interface/JMEmatching.h
index 1e28d7487eb1c6fb56adbb55c5db0d12b489fd9d..ba9789dabb8e573c389f6e91b1a33484432e6e3d 100644
--- a/JEC/interface/JMEmatching.h
+++ b/JEC/interface/JMEmatching.h
@@ -72,7 +72,7 @@ template<typename RecContainer = std::vector<RecJet>,
             Indices indices {iRec, iGen};
             auto DR2 = DeltaR2(indices);
             if (DR2 >= pow(maxDR,2)) continue;
-            candidates.emplace( move(indices) );
+            candidates.emplace( std::move(indices) );
         }
 
         // 4) keep only the closest pairs (keep track of matched jets to avoid double matching)
diff --git a/Normalisation/bin/getSumWeights.cc b/Normalisation/bin/getSumWeights.cc
index 421aef8622f4eff5e6081452692f3b9622155716..9eb2fd52045003b45302f622bc0df14730ba86dc 100644
--- a/Normalisation/bin/getSumWeights.cc
+++ b/Normalisation/bin/getSumWeights.cc
@@ -65,7 +65,7 @@ void getSumWeights
     auto evnt = flow.GetBranchReadOnly<GenEvent>("genEvent");
 
     TString title = ";log_{10}(w);sign;#sum_{i=1}^{events} w_{i}";
-    if (maxAbsValue > 0) title = Form("w < %d", maxAbsValue);
+    if (maxAbsValue > 0) title = Form("w < %f", maxAbsValue);
     auto h = make_unique<TH2D>("hSumWgt", title, 100, 3, 40,
                                                  2, -1, 1);
     const double overflow = h->GetXaxis()->GetXmax()+1.;
diff --git a/Prefiring/interface/applyPrefiringWeights.h b/Prefiring/interface/applyPrefiringWeights.h
index 5049616522fd37c1a27dcf70269903a9b581355a..5a6361e4ce99d5a65ad1c1adeec7bd5fba40aeb6 100644
--- a/Prefiring/interface/applyPrefiringWeights.h
+++ b/Prefiring/interface/applyPrefiringWeights.h
@@ -155,7 +155,7 @@ struct Functor {
         if (type == "binned")
             prefBinnedWeights = PrepareBinnedWeights(h);
         else if (type == "smooth")
-            prefSmoothWeights = PrepareSmoothWeights(file.c_str(), move(f));
+            prefSmoothWeights = PrepareSmoothWeights(file.c_str(), std::move(f));
         else
             BOOST_THROW_EXCEPTION( invalid_argument("Types may only be 'smooth' and 'binned'.") );
 
diff --git a/Uncertainties/bin/getToyCalculation.cc b/Uncertainties/bin/getToyCalculation.cc
index f8fc9805924027abdacd34bb702468c302f77643..c370448c3e414764f227f39805b90509f75c5545 100644
--- a/Uncertainties/bin/getToyCalculation.cc
+++ b/Uncertainties/bin/getToyCalculation.cc
@@ -114,7 +114,7 @@ void getToyCalculation
         unique_ptr<Transformer> t = obs->getTransformer(preBinning);
         TUnfoldBinning * postSubBinning = t->postBinning;
         post->AddBinning(postSubBinning);
-        transformers.push_back(move(t));
+        transformers.push_back(std::move(t));
     }
 
     auto N = config.get<int>("uncertainties.toy.N");
diff --git a/Uncertainties/interface/Teddy.h b/Uncertainties/interface/Teddy.h
index dc1ea5e63dd9516e02499552cd5774689cfa0350..4db1d17813f5824383b068cc85bc8a2c99d7cc80 100644
--- a/Uncertainties/interface/Teddy.h
+++ b/Uncertainties/interface/Teddy.h
@@ -130,7 +130,7 @@ public:
                 cov->SetBinContent(i+1,j+1, err(i,j));
         }
 
-        return make_pair<unique_ptr<TH1D>,unique_ptr<TH2D>>(move(h),move(cov));
+        return make_pair<unique_ptr<TH1D>,unique_ptr<TH2D>>(std::move(h),std::move(cov));
     }
 };
 bool Teddy::verbose = true;
diff --git a/Unfolding/bin/unfold.cc b/Unfolding/bin/unfold.cc
index 99bd1f221d23de64f80c9350bbf3f5863925513f..b37bbccc62864dfc0f1ebe3f747e6a4339d58418 100644
--- a/Unfolding/bin/unfold.cc
+++ b/Unfolding/bin/unfold.cc
@@ -509,12 +509,12 @@ void unfold
             if (name.Contains("fake")) {
                 name.ReplaceAll("fake", "");
                 cout << __LINE__ << "\tfake\t" << name << endl;
-                fake[name] = move(h);
+                fake[name] = std::move(h);
             }
             else {
                 name.ReplaceAll("miss", "");
                 cout << __LINE__ << "\tmiss\t" << name << endl;
-                miss[name] = move(h);
+                miss[name] = std::move(h);
             }
         } // end of retrieving of miss/fake histograms from MC
 
diff --git a/Unfolding/src/DistVariation.cc b/Unfolding/src/DistVariation.cc
index 1e2aa53647f66c2691b0ba92a43fc4e303847851..b15c6f3e51634b4b5bc4460dafb42fe68b7a5a71 100644
--- a/Unfolding/src/DistVariation.cc
+++ b/Unfolding/src/DistVariation.cc
@@ -203,8 +203,7 @@ vector<DistVariation> GetVariations (Darwin::Tools::MetaInfo& metainfo,
 
     vector<DistVariation> variations;
     variations.reserve(100);
-    DistVariation nominal{"nominal","nominal"};
-    variations.push_back(move(nominal)); // TODO: emplace_back?
+    variations.emplace_back("nominal","nominal");
     if (!applySyst) return variations;
 
     const TList * groupList = metainfo.List("variations");
@@ -218,8 +217,7 @@ vector<DistVariation> GetVariations (Darwin::Tools::MetaInfo& metainfo,
             if (!string)
                 BOOST_THROW_EXCEPTION( invalid_argument(obj->GetName()) );
             cout << group->GetName() << " " << string->GetString() << " " << (i+1) << endl;
-            DistVariation v(group->GetName(), string->GetString(), ++i);
-            variations.push_back(move(v)); // TODO: emplace_back?
+            variations.emplace_back(group->GetName(), string->GetString(), ++i);
         }
     }
 
diff --git a/cmake/CoreHelpers.cmake b/cmake/CoreHelpers.cmake
index efee9417b32cf0c84bad2fa854e2a6d84076b249..90f661a0d3f01f038bec3631a4b04b18d1d3bf0b 100644
--- a/cmake/CoreHelpers.cmake
+++ b/cmake/CoreHelpers.cmake
@@ -70,7 +70,8 @@ function(core_add_library)
     set_target_properties(${target} PROPERTIES OUTPUT_NAME ${PROJECT_NAME}${modname})
     target_include_directories(${target} PUBLIC  "interface")
     target_include_directories(${target} PRIVATE "src")
-    target_link_libraries(${target} PUBLIC ${ARG_DEPENDS})
+    target_link_libraries(${target} PUBLIC Darwin::Darwin ${ARG_DEPENDS})
+
     install(TARGETS ${target}
             RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}")