diff --git a/modules/mol/mm/pymod/export_forcefield.cc b/modules/mol/mm/pymod/export_forcefield.cc
index 750159c6f4478575324a8a7bf7348f18c735fb9c..db80c3b1990bfb188bf8cd940a0b63d8a69473e3 100644
--- a/modules/mol/mm/pymod/export_forcefield.cc
+++ b/modules/mol/mm/pymod/export_forcefield.cc
@@ -78,6 +78,11 @@ void export_Forcefield()
     .def("SetFudgeLJ",&ost::mol::mm::Forcefield::SetFudgeLJ) 
     .def("SetFudgeQQ",&ost::mol::mm::Forcefield::SetFudgeQQ) 
     .def("SetGenPairs",&ost::mol::mm::Forcefield::SetGenPairs) 
+    .def("GetResidueRenamingMain",&ost::mol::mm::Forcefield::GetResidueRenamingMain,(arg("res_name")))
+    .def("GetResidueRenamingNTer",&ost::mol::mm::Forcefield::GetResidueRenamingNTer,(arg("res_name")))
+    .def("GetResidueRenamingCTer",&ost::mol::mm::Forcefield::GetResidueRenamingCTer,(arg("res_name")))
+    .def("GetResidueRenamingTwoTer",&ost::mol::mm::Forcefield::GetResidueRenamingTwoTer,(arg("res_name")))
+    .def("GetAtomRenaming",&ost::mol::mm::Forcefield::GetAtomRenaming,(arg("res_name"),arg("atom_name")))
     .def("AssignFFSpecificNames",&ost::mol::mm::Forcefield::AssignFFSpecificNames,(arg("ent"),arg("reverse")=true))
   ;
 
diff --git a/modules/mol/mm/src/forcefield.cc b/modules/mol/mm/src/forcefield.cc
index 93f1c882746f3e33b063657b3bcec8c94fef5a5c..b1e18b776e4a201db3c981fa34b1583cbe5b2048 100644
--- a/modules/mol/mm/src/forcefield.cc
+++ b/modules/mol/mm/src/forcefield.cc
@@ -781,6 +781,49 @@ void Forcefield::AddAtomRenamingRule(const String& res_name,
   atom_renaming_ff_specific_[res_name].push_back(std::make_pair(old_atom_name,new_atom_name));
 }
 
+String Forcefield::GetResidueRenamingMain(const String& name) const{
+  boost::unordered_map<String, ResidueNamesPtr>::const_iterator i = res_renaming_ff_specific_.find(name);
+  if(i == res_renaming_ff_specific_.end()){
+    return name;
+  }
+  return i->second->main;  
+}
+
+String Forcefield::GetResidueRenamingNTer(const String& name) const{
+  boost::unordered_map<String, ResidueNamesPtr>::const_iterator i = res_renaming_ff_specific_.find(name);
+  if(i == res_renaming_ff_specific_.end()){
+    return name;
+  }
+  return i->second->nter;  
+}
+
+
+String Forcefield::GetResidueRenamingCTer(const String& name) const{
+  boost::unordered_map<String, ResidueNamesPtr>::const_iterator i = res_renaming_ff_specific_.find(name);
+  if(i == res_renaming_ff_specific_.end()){
+    return name;
+  }
+  return i->second->cter;  
+}
+
+String Forcefield::GetResidueRenamingTwoTer(const String& name) const{
+  boost::unordered_map<String, ResidueNamesPtr>::const_iterator i = res_renaming_ff_specific_.find(name);
+  if(i == res_renaming_ff_specific_.end()){
+    return name;
+  }
+  return i->second->twoter;  
+}
+
+String Forcefield::GetAtomRenaming(const String& res_name, const String& atom_name) const{
+  boost::unordered_map<String,std::vector<std::pair<String,String> > >::const_iterator i = atom_renaming_ff_specific_.find(res_name);
+  if(i == atom_renaming_ff_specific_.end()) return atom_name;
+  for(std::vector<std::pair<String,String> >::const_iterator j = i->second.begin(), e = i->second.end();
+      j != e; ++j){
+    if(atom_name == j->first) return j->second; 
+  } 
+  return atom_name;
+}
+
 void Forcefield::AssignFFSpecificNames(ost::mol::EntityHandle& handle, bool reverse) const{
 
   //the whole FF specific renaming procedure assumes a standard naming,
diff --git a/modules/mol/mm/src/forcefield.hh b/modules/mol/mm/src/forcefield.hh
index e5d39ad321e8774a91388618481396241762a70b..aba6447676e34319030bda1402d40751c2d3d881 100644
--- a/modules/mol/mm/src/forcefield.hh
+++ b/modules/mol/mm/src/forcefield.hh
@@ -151,6 +151,16 @@ public:
                            const String& old_atom_name,
                            const String& new_atom_name);
 
+  String GetResidueRenamingMain(const String& name) const;
+
+  String GetResidueRenamingNTer(const String& name) const;
+
+  String GetResidueRenamingCTer(const String& name) const;
+
+  String GetResidueRenamingTwoTer(const String& name) const;
+
+  String GetAtomRenaming(const String& res_name, const String& atom_name) const;
+
   void AddHydrogenConstructor(const String& residue_name, HydrogenConstructorPtr p){
     hydrogen_constructors_[residue_name] = p;
   }