Index: molecuilder/src/moleculelist.cpp
===================================================================
--- molecuilder/src/moleculelist.cpp	(revision 8efbfc4d0c2fb5669e085b64c3d6ee55ebb71ab7)
+++ molecuilder/src/moleculelist.cpp	(revision e565a853608ac70901db3fc9cb1e7d070f97fa47)
@@ -418,5 +418,5 @@
           if (Walker->type->Z == runner->Z) {
             if ((Walker->GetTrueFather() != NULL) && (Walker->GetTrueFather() != Walker)) {// if there is a real father, prints its index
-              cerr << "Walker is " << *Walker << " with true father " << *( Walker->GetTrueFather()) << ", its number " << Walker->GetTrueFather()->nr << " and index " << SortIndex[Walker->GetTrueFather()->nr] << "." << endl;  
+              //cout << "Walker is " << *Walker << " with true father " << *( Walker->GetTrueFather()) << ", its number " << Walker->GetTrueFather()->nr << " and index " << SortIndex[Walker->GetTrueFather()->nr] << "." << endl;  
               output <<  SortIndex[Walker->GetTrueFather()->nr] << "\t";
             } else  // otherwise a -1 to indicate an added saturation hydrogen
Index: molecuilder/src/molecules.cpp
===================================================================
--- molecuilder/src/molecules.cpp	(revision 8efbfc4d0c2fb5669e085b64c3d6ee55ebb71ab7)
+++ molecuilder/src/molecules.cpp	(revision e565a853608ac70901db3fc9cb1e7d070f97fa47)
@@ -186,5 +186,5 @@
   double *matrix;
 
-	*out << Verbose(3) << "Begin of AddHydrogenReplacementAtom." << endl;
+//	*out << Verbose(3) << "Begin of AddHydrogenReplacementAtom." << endl;
   // create vector in direction of bond
   InBondVector.CopyVector(&TopReplacement->x);
@@ -196,7 +196,7 @@
    // due to TopReplacement or Origin being on the wrong side! 
   if (bondlength > BondDistance) { 
-    *out << Verbose(4) << "InBondVector is: ";
-    InBondVector.Output(out);
-    *out << endl;
+//    *out << Verbose(4) << "InBondVector is: ";
+//    InBondVector.Output(out);
+//    *out << endl;
     OrthoVector1.Zero();
     for (int i=0;i<NDIM;i++) {
@@ -211,7 +211,7 @@
     Free((void **)&matrix, "molecule::AddHydrogenReplacementAtom: *matrix");
     bondlength = InBondVector.Norm();
-    *out << Verbose(4) << "Corrected InBondVector is now: ";
-    InBondVector.Output(out);
-    *out << endl;
+//    *out << Verbose(4) << "Corrected InBondVector is now: ";
+//    InBondVector.Output(out);
+//    *out << endl;
   } // periodic correction finished
   
@@ -244,7 +244,7 @@
       FirstOtherAtom->x.AddVector(&InBondVector);  // ... and add distance vector to replacement atom
       AllWentWell = AllWentWell && AddAtom(FirstOtherAtom);
-      *out << Verbose(4) << "Added " << *FirstOtherAtom << " at: ";
-      FirstOtherAtom->x.Output(out);
-      *out << endl;
+//      *out << Verbose(4) << "Added " << *FirstOtherAtom << " at: ";
+//      FirstOtherAtom->x.Output(out);
+//      *out << endl;
       Binder = AddBond(BottomOrigin, FirstOtherAtom, 1);
       Binder->Cyclic = false;
@@ -271,5 +271,5 @@
       }
       if (FirstOtherAtom != NULL) { // then we just have this double bond and the plane does not matter at all
-        *out << Verbose(3) << "Regarding the double bond (" << TopOrigin->Name << "<->" << TopReplacement->Name << ") to be constructed: Taking " << FirstOtherAtom->Name << " and " << SecondOtherAtom->Name << " along with " << TopOrigin->Name << " to determine orthogonal plane." << endl;
+//        *out << Verbose(3) << "Regarding the double bond (" << TopOrigin->Name << "<->" << TopReplacement->Name << ") to be constructed: Taking " << FirstOtherAtom->Name << " and " << SecondOtherAtom->Name << " along with " << TopOrigin->Name << " to determine orthogonal plane." << endl;
         
         // determine the plane of these two with the *origin
@@ -309,5 +309,5 @@
 //      OrthoVector1.Output(out);
 //      *out << endl;
-      *out << Verbose(3) << "Half the bond angle is " << bondangle << ", sin and cos of it: " << sin(bondangle) << ", " << cos(bondangle) << endl;
+//      *out << Verbose(3) << "Half the bond angle is " << bondangle << ", sin and cos of it: " << sin(bondangle) << ", " << cos(bondangle) << endl;
       FirstOtherAtom->x.Zero();
       SecondOtherAtom->x.Zero();
@@ -326,10 +326,10 @@
       AllWentWell = AllWentWell && AddAtom(FirstOtherAtom);
       AllWentWell = AllWentWell && AddAtom(SecondOtherAtom);
-      *out << Verbose(4) << "Added " << *FirstOtherAtom << " at: ";
-      FirstOtherAtom->x.Output(out);
-      *out << endl;
-      *out << Verbose(4) << "Added " << *SecondOtherAtom << " at: ";
-      SecondOtherAtom->x.Output(out);
-      *out << endl;
+//      *out << Verbose(4) << "Added " << *FirstOtherAtom << " at: ";
+//      FirstOtherAtom->x.Output(out);
+//      *out << endl;
+//      *out << Verbose(4) << "Added " << *SecondOtherAtom << " at: ";
+//      SecondOtherAtom->x.Output(out);
+//      *out << endl;
       Binder = AddBond(BottomOrigin, FirstOtherAtom, 1);
       Binder->Cyclic = false;
@@ -359,11 +359,11 @@
       // we need to vectors orthonormal the InBondVector
       AllWentWell = AllWentWell && OrthoVector1.GetOneNormalVector(&InBondVector);
-      *out << Verbose(3) << "Orthovector1: ";
-      OrthoVector1.Output(out);
-      *out << endl;
+//      *out << Verbose(3) << "Orthovector1: ";
+//      OrthoVector1.Output(out);
+//      *out << endl;
       AllWentWell = AllWentWell && OrthoVector2.MakeNormalVector(&InBondVector, &OrthoVector1);
-      *out << Verbose(3) << "Orthovector2: "; 
-      OrthoVector2.Output(out);
-      *out << endl;
+//      *out << Verbose(3) << "Orthovector2: "; 
+//      OrthoVector2.Output(out);
+//      *out << endl;
       
       // create correct coordination for the three atoms
@@ -374,6 +374,6 @@
       f = b/sqrt(3.);   // length for OrthVector1
       g = b/2.;         // length for OrthVector2
-      *out << Verbose(3) << "Bond length and half-angle: " << l << ", " << alpha << "\t (b,d,f,g) = " << b << ", " << d << ", " << f << ", " << g << ", " << endl;
-      *out << Verbose(3) << "The three Bond lengths: " << sqrt(d*d+f*f) << ", " << sqrt(d*d+(-0.5*f)*(-0.5*f)+g*g) << ", "  << sqrt(d*d+(-0.5*f)*(-0.5*f)+g*g) << endl;
+//      *out << Verbose(3) << "Bond length and half-angle: " << l << ", " << alpha << "\t (b,d,f,g) = " << b << ", " << d << ", " << f << ", " << g << ", " << endl;
+//      *out << Verbose(3) << "The three Bond lengths: " << sqrt(d*d+f*f) << ", " << sqrt(d*d+(-0.5*f)*(-0.5*f)+g*g) << ", "  << sqrt(d*d+(-0.5*f)*(-0.5*f)+g*g) << endl;
       factors[0] = d;
       factors[1] = f;
@@ -400,13 +400,13 @@
       AllWentWell = AllWentWell && AddAtom(SecondOtherAtom);
       AllWentWell = AllWentWell && AddAtom(ThirdOtherAtom);
-      *out << Verbose(4) << "Added " << *FirstOtherAtom << " at: ";
-      FirstOtherAtom->x.Output(out);
-      *out << endl;
-      *out << Verbose(4) << "Added " << *SecondOtherAtom << " at: ";
-      SecondOtherAtom->x.Output(out);
-      *out << endl;
-      *out << Verbose(4) << "Added " << *ThirdOtherAtom << " at: ";
-      ThirdOtherAtom->x.Output(out);
-      *out << endl;
+//      *out << Verbose(4) << "Added " << *FirstOtherAtom << " at: ";
+//      FirstOtherAtom->x.Output(out);
+//      *out << endl;
+//      *out << Verbose(4) << "Added " << *SecondOtherAtom << " at: ";
+//      SecondOtherAtom->x.Output(out);
+//      *out << endl;
+//      *out << Verbose(4) << "Added " << *ThirdOtherAtom << " at: ";
+//      ThirdOtherAtom->x.Output(out);
+//      *out << endl;
       Binder = AddBond(BottomOrigin, FirstOtherAtom, 1);
       Binder->Cyclic = false;
@@ -425,5 +425,5 @@
   }
 
-	*out << Verbose(3) << "End of AddHydrogenReplacementAtom." << endl;
+//	*out << Verbose(3) << "End of AddHydrogenReplacementAtom." << endl;
   return AllWentWell;
 };
@@ -606,5 +606,5 @@
   vector *min = new vector;
   
-  *out << Verbose(3) << "Begin of CenterEdge." << endl;
+//  *out << Verbose(3) << "Begin of CenterEdge." << endl;
   atom *ptr = start->next;  // start at first in list
   if (ptr != end) {   //list not empty?
@@ -621,9 +621,9 @@
       }
     }
-    *out << Verbose(4) << "Maximum is "; 
-    max->Output(out);
-    *out << ", Minimum is ";
-    min->Output(out);
-    *out << endl;
+//    *out << Verbose(4) << "Maximum is "; 
+//    max->Output(out);
+//    *out << ", Minimum is ";
+//    min->Output(out);
+//    *out << endl;
     
     for (int i=0;i<NDIM;i++) {
@@ -634,5 +634,5 @@
   } 
   delete(min);
-  *out << Verbose(3) << "End of CenterEdge." << endl;
+//  *out << Verbose(3) << "End of CenterEdge." << endl;
 }; 
 
@@ -1867,5 +1867,5 @@
     line >> AtomNr;
     if ((AtomNr >= 0) && (AtomNr < AtomCount)) {
-      CurrentSet.insert(AtomNr);
+      CurrentSet.insert(AtomNr);  // insert at end, hence in same order as in file!
       status++;
     } // else it's "-1" or else and thus must not be added
@@ -2790,5 +2790,5 @@
   molecule *Leaf = new molecule(elemente);
   
-  *out << Verbose(1) << "Begin of StoreFragmentFromKeyset." << endl;
+//  *out << Verbose(1) << "Begin of StoreFragmentFromKeyset." << endl;
   
   Leaf->BondDistance = BondDistance;
@@ -2802,10 +2802,10 @@
   // first create the minimal set of atoms from the KeySet
   for(KeySet::iterator runner = Leaflet.begin(); runner != Leaflet.end(); runner++) {
-    FatherOfRunner =  FindAtom((*runner));
+    FatherOfRunner =  FindAtom((*runner));  // find the id
     SonList[FatherOfRunner->nr] = Leaf->AddCopyAtom(FatherOfRunner);
   }
   
   // create the bonds between all: Make it an induced subgraph and add hydrogen
-  *out << Verbose(2) << "Creating bonds from father graph (i.e. induced subgraph creation)." << endl;
+//  *out << Verbose(2) << "Creating bonds from father graph (i.e. induced subgraph creation)." << endl;
   Runner = Leaf->start;
   while (Runner->next != Leaf->end) {
@@ -2816,17 +2816,17 @@
       for (int i=0;i<NumberOfBondsPerAtom[FatherOfRunner->nr];i++) { // go through every bond of father 
         OtherFather = ListOfBondsPerAtom[FatherOfRunner->nr][i]->GetOtherAtom(FatherOfRunner);
-        *out << Verbose(2) << "Father " << *FatherOfRunner << " of son " << *SonList[FatherOfRunner->nr] << " is bound to " << *OtherFather;
+//        *out << Verbose(2) << "Father " << *FatherOfRunner << " of son " << *SonList[FatherOfRunner->nr] << " is bound to " << *OtherFather;
         if (SonList[OtherFather->nr] != NULL) {
-          *out << ", whose son is " << *SonList[OtherFather->nr] << "." << endl; 
+//          *out << ", whose son is " << *SonList[OtherFather->nr] << "." << endl; 
           if (OtherFather->nr > FatherOfRunner->nr) { // add bond (nr check is for adding only one of both variants: ab, ba)
-            *out << Verbose(3) << "Adding Bond: " << Leaf->AddBond(Runner, SonList[OtherFather->nr], ListOfBondsPerAtom[FatherOfRunner->nr][i]->BondDegree) << "." << endl;
+//            *out << Verbose(3) << "Adding Bond: " << Leaf->AddBond(Runner, SonList[OtherFather->nr], ListOfBondsPerAtom[FatherOfRunner->nr][i]->BondDegree) << "." << endl;
             //NumBonds[Runner->nr]++;
           } else { 
-            *out << Verbose(3) << "Not adding bond, labels in wrong order." << endl;
+//            *out << Verbose(3) << "Not adding bond, labels in wrong order." << endl;
           }
         } else {
-          *out << ", who has no son in this fragment molecule." << endl; 
+//          *out << ", who has no son in this fragment molecule." << endl; 
 #ifdef ADDHYDROGEN
-          *out << Verbose(3) << "Adding Hydrogen to " << Runner->Name << " and a bond in between." << endl;
+//          *out << Verbose(3) << "Adding Hydrogen to " << Runner->Name << " and a bond in between." << endl;
           Leaf->AddHydrogenReplacementAtom(out, ListOfBondsPerAtom[FatherOfRunner->nr][i], Runner, FatherOfRunner, OtherFather, ListOfBondsPerAtom[FatherOfRunner->nr],NumberOfBondsPerAtom[FatherOfRunner->nr], IsAngstroem);
 #endif
@@ -2845,5 +2845,5 @@
   //Leaflet->Leaf->ScanForPeriodicCorrection(out);
   Free((void **)&SonList, "molecule::StoreFragmentFromStack: **SonList");
-  *out << Verbose(1) << "End of StoreFragmentFromKeyset." << endl;
+//  *out << Verbose(1) << "End of StoreFragmentFromKeyset." << endl;
   return Leaf;
 };
@@ -3508,5 +3508,5 @@
   bool flag = true;
 
-  *out << Verbose(1) << "Begin of ScanForPeriodicCorrection." << endl;
+//  *out << Verbose(1) << "Begin of ScanForPeriodicCorrection." << endl;
 
   ColorList = (enum Shading *) Malloc(sizeof(enum Shading)*AtomCount, "molecule::ScanForPeriodicCorrection: *ColorList");
@@ -3526,5 +3526,5 @@
           OtherBinder = Binder->next; // note down binding partner for later re-insertion
           unlink(Binder);   // unlink bond
-          *out << Verbose(2) << "Correcting at bond " << *Binder << "." << endl;
+//          *out << Verbose(2) << "Correcting at bond " << *Binder << "." << endl;
           flag = true;
           break;
@@ -3564,5 +3564,5 @@
       link(Binder, OtherBinder);
     } else {
-      *out << Verbose(2) << "No corrections for this fragment." << endl;
+//      *out << Verbose(2) << "No corrections for this fragment." << endl;
     }
     //delete(CompStack);
@@ -3573,5 +3573,5 @@
   Free((void **)&ColorList, "molecule::ScanForPeriodicCorrection: *ColorList");
   Free((void **)&matrix, "molecule::ScanForPeriodicCorrection: *matrix");
-  *out << Verbose(1) << "End of ScanForPeriodicCorrection." << endl;
+//  *out << Verbose(1) << "End of ScanForPeriodicCorrection." << endl;
 };
 
