Index: src/Atom/atom.cpp
===================================================================
--- src/Atom/atom.cpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/Atom/atom.cpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -125,5 +125,10 @@
     return father->GetTrueFather();
   }
-};
+}
+
+void atom::setFather(atom * const _father)
+{
+  father = _father;
+}
 
 /** Sets father to itself or its father in case of copying a molecule.
Index: src/Atom/atom.hpp
===================================================================
--- src/Atom/atom.hpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/Atom/atom.hpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -47,7 +47,9 @@
   friend atom* NewAtom(atomId_t);
   friend void  DeleteAtom(atom*);
+
+  atom *father;   //!< In many-body bond order fragmentations points to originating atom
+  int *sort;      //!< sort criteria
+
 public:
-    atom *father;   //!< In many-body bond order fragmentations points to originating atom
-    int *sort;      //!< sort criteria
 
   /** Clones this atom.
@@ -130,4 +132,17 @@
    */
   const atom *GetTrueFather() const;
+
+  /** Const getter for the atoms father.
+   *
+   * \return father of this atom
+   */
+  atom * const getFather() const
+  { return father; }
+
+  /** Sets the father for this atom.
+   *
+   * \param _father ptr to father atom
+   */
+  void setFather(atom * const _father);
 
   /** Compares the indices of \a this atom with a given \a ptr.
Index: src/Fragmentation/Exporters/HydrogenPool.cpp
===================================================================
--- src/Fragmentation/Exporters/HydrogenPool.cpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/Fragmentation/Exporters/HydrogenPool.cpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -68,5 +68,5 @@
   ++HydrogenCount;
 
-  // give warning if pool has more than thereshold
+  // give warning if pool has more than threshold
   if (HydrogenCount >= WARNINGTHRESHOLD) {
     ELOG(2, "HydrogenPool contains more hydrogen atoms than limit.");
Index: src/Fragmentation/Exporters/SaturatedFragment.cpp
===================================================================
--- src/Fragmentation/Exporters/SaturatedFragment.cpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/Fragmentation/Exporters/SaturatedFragment.cpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -311,5 +311,5 @@
   _atom->setFixedIon(true);
   // if we replace hydrogen, we mark it as our father, otherwise we are just an added hydrogen with no father
-  _atom->father = _father;
+  _atom->setFather(_father);
   SaturationHydrogens.insert(_atom->getId());
 
@@ -387,5 +387,5 @@
   _atom->setFixedIon(replacement->getFixedIon());
   // if we replace hydrogen, we mark it as our father, otherwise we are just an added hydrogen with no father
-  _atom->father = replacement;
+  _atom->setFather(replacement);
   SaturationHydrogens.insert(_atom->getId());
   return _atom;
Index: src/Graph/BuildInducedSubgraph.cpp
===================================================================
--- src/Graph/BuildInducedSubgraph.cpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/Graph/BuildInducedSubgraph.cpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -63,7 +63,7 @@
   LOG(3, "Filling Parent List.");
   for (molecule::iterator iter = Son->begin(); iter != Son->end(); ++iter) {
-    ParentList[(*iter)->father] = (*iter);
+    ParentList[(*iter)->getFather()] = (*iter);
     // Outputting List for debugging
-    LOG(4, "INFO: ParentList[] of " << (*iter)->father << " is " << *ParentList[(*iter)->father] << ".");
+    LOG(4, "INFO: ParentList[] of " << (*iter)->getFather() << " is " << *ParentList[(*iter)->getFather()] << ".");
   }
 }
@@ -77,5 +77,5 @@
   for (molecule::iterator iter = Father->begin(); iter != Father->end(); ++iter) {
     if (ParentList.count(*iter)) {
-      if (ParentList[(*iter)]->father != (*iter)) {
+      if (ParentList[(*iter)]->getFather() != (*iter)) {
         status = false;
       } else {
Index: src/Parser/PdbParser.cpp
===================================================================
--- src/Parser/PdbParser.cpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/Parser/PdbParser.cpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -360,7 +360,7 @@
 {
   if (additionalAtomData.find(_atom->getId()) != additionalAtomData.end()) {
-  } else if (additionalAtomData.find(_atom->father->getId()) != additionalAtomData.end()) {
+  } else if (additionalAtomData.find(_atom->getFather()->getId()) != additionalAtomData.end()) {
     // use info from direct father
-    additionalAtomData[_atom->getId()] = additionalAtomData[_atom->father->getId()];
+    additionalAtomData[_atom->getId()] = additionalAtomData[_atom->getFather()->getId()];
   } else if (additionalAtomData.find(_atom->GetTrueFather()->getId()) != additionalAtomData.end()) {
     // use info from topmost father
Index: src/molecule.cpp
===================================================================
--- src/molecule.cpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/molecule.cpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -934,5 +934,5 @@
     output << "Map is ";
     for (molecule::const_iterator iter = begin(); iter != end(); ++iter) {
-      if ((*iter)->father == NULL) {
+      if ((*iter)->getFather() == NULL) {
         AtomicMap[(*iter)->getNr()] = -2;
       } else {
@@ -940,6 +940,6 @@
       //for (int i=0;i<AtomCount;i++) { // search atom
         //for (int j=0;j<OtherMolecule->getAtomCount();j++) {
-          //LOG(4, "Comparing father " << (*iter)->father << " with the other one " << (*runner)->father << ".");
-          if ((*iter)->father == (*runner))
+          //LOG(4, "Comparing father " << (*iter)->getFather() << " with the other one " << (*runner)->getFather() << ".");
+          if ((*iter)->getFather() == (*runner))
             AtomicMap[(*iter)->getNr()] = (*runner)->getNr();
         }
Index: src/moleculelist.cpp
===================================================================
--- src/moleculelist.cpp	(revision cf5b40740d5d7a75cc4d37649723d13c88ecb510)
+++ src/moleculelist.cpp	(revision 910a5d3c24251e841b550140856bdc84d981ff30)
@@ -409,6 +409,6 @@
     for (molecule::const_iterator iter = (*ListRunner)->begin(); iter != (*ListRunner)->end(); ++iter) {
       //LOG(1, "(*iter): " << *(*iter) << " with first bond " << *((*iter)->getListOfBonds().begin()) << ".");
-      if (((*iter)->getType()->getAtomicNumber() == 1) && (((*iter)->father == NULL)
-          || ((*iter)->father->getType()->getAtomicNumber() != 1))) { // if it's a hydrogen
+      if (((*iter)->getType()->getAtomicNumber() == 1) && (((*iter)->getFather() == NULL)
+          || ((*iter)->getFather()->getType()->getAtomicNumber() != 1))) { // if it's a hydrogen
         for (molecule::const_iterator runner = (*ListRunner)->begin(); runner != (*ListRunner)->end(); ++runner) {
           //LOG(2, "Runner: " << *(*runner) << " with first bond " << *((*iter)->getListOfBonds().begin()) << ".");
