diff --git a/modules/img/base/src/point.hh b/modules/img/base/src/point.hh
index 4e96786308e0875f4157a0a580d88787afc9485c..58040f4c5b63c4620480b2042f51b6da118f1eb4 100644
--- a/modules/img/base/src/point.hh
+++ b/modules/img/base/src/point.hh
@@ -168,6 +168,8 @@ public:
 
   bool operator<(const Point &p) const;
 
+  Point& operator*=(int s) {x*=s;y*=s;z*=s;return *this;}
+  
   // conversion to vectors
   Vec2 ToVec2() const;
   Vec3 ToVec3() const;
diff --git a/modules/mol/alg/src/filter_clashes.cc b/modules/mol/alg/src/filter_clashes.cc
index 875db0aa178c32269868638d82e3b2c273380922..b8ec093a81e1d43dde94c81b5b9b9f3e8ba9db41 100644
--- a/modules/mol/alg/src/filter_clashes.cc
+++ b/modules/mol/alg/src/filter_clashes.cc
@@ -89,10 +89,10 @@ std::vector<ClashEvent> ClashingInfo::GetClashList() const
   for (std::vector<ClashEvent>::const_iterator cl_it=clash_list_.begin();cl_it!=clash_list_.end();++cl_it) {
     UniqueAtomIdentifier atom1 = cl_it->GetFirstAtom();
     UniqueAtomIdentifier atom2 = cl_it->GetSecondAtom();
-    UAtomIdentifiers check = std::make_pair<UniqueAtomIdentifier,UniqueAtomIdentifier>(atom2,atom1);
+    UAtomIdentifiers check = std::make_pair(atom2,atom1);
     if (std::find(seen_list.begin(),seen_list.end(),check)==seen_list.end()) {
       return_list.push_back(*cl_it);
-      seen_list.push_back(std::make_pair<UniqueAtomIdentifier,UniqueAtomIdentifier>(atom1,atom2));
+      seen_list.push_back(std::make_pair(atom1,atom2));
     }
   }
   return return_list;
@@ -103,7 +103,7 @@ void ClashingDistances::SetClashingDistance(const String& ele1,const String& ele
   std::stringstream stkey;
   stkey << ele1 << "--" << ele2;
   String key=stkey.str();
-  min_distance_[key]=std::make_pair<Real,Real>(min_distance,tolerance);
+  min_distance_[key]=std::make_pair(min_distance,tolerance);
 }
 
 std::pair<Real,Real> ClashingDistances::GetClashingDistance(const String& ele1,const String& ele2) const
@@ -160,13 +160,13 @@ bool ClashingDistances::IsEmpty() const
 
 void StereoChemicalParams::SetParam(const String& param, const String& residue, Real value, Real st_dev)
 {
-  std::pair<String,String> key = std::make_pair<String,String>(param,residue);
-  params_[key]=std::make_pair<Real,Real>(value,st_dev);
+  std::pair<String,String> key = std::make_pair(param,residue);
+  params_[key]=std::make_pair(value,st_dev);
 }
 
 std::pair<Real,Real> StereoChemicalParams::GetParam(const String& param,const String& residue) const
 {
-  std::pair<String,String> key = std::make_pair<String,String>(param,residue);
+  std::pair<String,String> key = std::make_pair(param,residue);
   std::map<std::pair<String,String>,std::pair<float,float> >::const_iterator find_ci = params_.find(key);
   if (find_ci == params_.end()) {
       std::stringstream serr;
@@ -178,7 +178,7 @@ std::pair<Real,Real> StereoChemicalParams::GetParam(const String& param,const St
 
 bool StereoChemicalParams::ContainsParam(const String& param,const String& residue) const
 {
-  std::pair<String,String> key = std::make_pair<String,String>(param,residue);
+  std::pair<String,String> key = std::make_pair(param,residue);
   std::map<std::pair<String,String>,std::pair<float,float> >::const_iterator find_ci = params_.find(key);
   if (find_ci == params_.end()) {
     return false;
@@ -402,7 +402,7 @@ std::pair<EntityView,StereoChemistryInfo> CheckStereoChemistry(const EntityView&
               bad_bond_count++;
               UniqueAtomIdentifier atom_ui(atom.GetResidue().GetChain().GetName(),atom.GetResidue().GetNumber(),atom.GetResidue().GetName(),atom.GetName());
               UniqueAtomIdentifier other_atom_ui(other_atom.GetResidue().GetChain().GetName(),other_atom.GetResidue().GetNumber(),other_atom.GetResidue().GetName(),other_atom.GetName());
-              StereoChemicalBondViolation bond_v(atom_ui,other_atom_ui,blength,std::make_pair<Real,Real>(min_length,max_length));
+              StereoChemicalBondViolation bond_v(atom_ui,other_atom_ui,blength,std::make_pair(min_length,max_length));
               bond_violation_list.push_back(bond_v);
               remove_sc=true;
               if (always_remove_bb==true) {
@@ -472,7 +472,7 @@ std::pair<EntityView,StereoChemistryInfo> CheckStereoChemistry(const EntityView&
               UniqueAtomIdentifier atom1_ui(atom1.GetResidue().GetChain().GetName(),atom1.GetResidue().GetNumber(),atom1.GetResidue().GetName(),atom1.GetName());
               UniqueAtomIdentifier atom_ui(atom.GetResidue().GetChain().GetName(),atom.GetResidue().GetNumber(),atom.GetResidue().GetName(),atom.GetName());
               UniqueAtomIdentifier atom2_ui(atom2.GetResidue().GetChain().GetName(),atom2.GetResidue().GetNumber(),atom2.GetResidue().GetName(),atom2.GetName());
-              StereoChemicalAngleViolation angle_v(atom1_ui,atom_ui,atom2_ui,awidth,std::make_pair<Real,Real>(min_width,max_width));
+              StereoChemicalAngleViolation angle_v(atom1_ui,atom_ui,atom2_ui,awidth,std::make_pair(min_width,max_width));
               angle_violation_list.push_back(angle_v);
               remove_sc=true;
               if (always_remove_bb==true) {
@@ -529,7 +529,7 @@ std::pair<EntityView,StereoChemistryInfo> CheckStereoChemistry(const EntityView&
                            bad_angle_count, angle_count,avg_bond_length_info,
                            bond_violation_list,angle_violation_list);
   filtered.AddAllInclusiveBonds();
-  return std::make_pair<EntityView,StereoChemistryInfo>(filtered,info);
+  return std::make_pair(filtered,info);
 }
 
 
@@ -639,7 +639,7 @@ std::pair<EntityView,ClashingInfo> FilterClashes(const EntityView& ent, const Cl
   }
   ClashingInfo info(bad_distance_count,average_offset,clash_list);
   filtered.AddAllInclusiveBonds();
-  return std::make_pair<EntityView,ClashingInfo>(filtered,info);
+  return std::make_pair(filtered,info);
 }
 
 
diff --git a/modules/mol/alg/src/lddt.cc b/modules/mol/alg/src/lddt.cc
index b98fa7d7c14217edb0cabcc47d7b3b695f52c9c9..da1d8b311eb4103f664eef7bf24d0eaff2f2aa46 100644
--- a/modules/mol/alg/src/lddt.cc
+++ b/modules/mol/alg/src/lddt.cc
@@ -96,9 +96,9 @@ std::pair<int,int> compute_coverage (const EntityView& v,const GlobalRDMap& glob
   int first=0;
   if (v.GetResidueList().size()==0) {
     if (glob_dist_list.size()==0) {
-      return std::make_pair<int,int>(0,-1);
+      return std::make_pair(0,-1);
     } else {    
-      return std::make_pair<int,int>(0,glob_dist_list.size());
+      return std::make_pair(0,glob_dist_list.size());
     }  
   }
   ChainView vchain=v.GetChainList()[0];
@@ -110,7 +110,7 @@ std::pair<int,int> compute_coverage (const EntityView& v,const GlobalRDMap& glob
       first++;
     }
   }
-  return std::make_pair<int,int>(first,second);
+  return std::make_pair(first,second);
 }
 
 bool is_resnum_in_globalrdmap(const ResNum& resnum, const GlobalRDMap& glob_dist_list)
diff --git a/modules/mol/alg/src/local_dist_diff_test.cc b/modules/mol/alg/src/local_dist_diff_test.cc
index 2bf01896c77f29d48306946ad850027d02083a89..aad66e7a639e265256fe5511a628203f2e57df53 100644
--- a/modules/mol/alg/src/local_dist_diff_test.cc
+++ b/modules/mol/alg/src/local_dist_diff_test.cc
@@ -367,8 +367,8 @@ GlobalRDMap CreateDistanceList(const EntityView& ref,Real max_dist)
              continue;
          }
          Real dist=geom::Length(ai->GetPos()-aj->GetPos());
-         UAtomIdentifiers atoms = std::make_pair<UniqueAtomIdentifier,UniqueAtomIdentifier>(first_atom,second_atom); 
-         std::pair<Real,Real> values = std::make_pair<Real,Real>(dist,dist);  
+         UAtomIdentifiers atoms = std::make_pair(first_atom,second_atom); 
+         std::pair<Real,Real> values = std::make_pair(dist,dist);  
          res_dist_list[atoms]=values;
        }
      }   
@@ -424,11 +424,11 @@ std::pair<long int,long int> LocalDistDiffTest(const EntityView& mdl, const Glob
 {
   if (!mdl.GetResidueCount()) {
     LOG_WARNING("model structures doesn't contain any residues");
-    return std::make_pair<long int,long int>(0,0);
+    return std::make_pair(0,0);
   }
   if (glob_dist_list.size()==0) {
     LOG_WARNING("global reference list is empty");
-    return std::make_pair<long int,long int>(0,0);
+    return std::make_pair(0,0);
   }
   std::vector<std::pair<long int, long int> > overlap_list(mdl.GetResidueCount(), std::pair<long int, long int>(0, 0));
   check_and_swap(glob_dist_list,mdl,cutoff_list,sequence_separation,overlap_list);
@@ -460,7 +460,7 @@ std::pair<long int,long int> LocalDistDiffTest(const EntityView& mdl, const Glob
     }
   }
   overlap_list.clear();
-  return std::make_pair<long int,long int>(total_ov.first,total_ov.second);
+  return std::make_pair(total_ov.first,total_ov.second);
 }
 
 Real LocalDistDiffTest(const EntityView& mdl, const EntityView& target, Real cutoff, Real max_dist, const String& local_lddt_property_string)