Index: src/Descriptors/unittests/AtomDescriptorUnitTest.cpp
===================================================================
--- src/Descriptors/unittests/AtomDescriptorUnitTest.cpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Descriptors/unittests/AtomDescriptorUnitTest.cpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -275,5 +275,5 @@
     std::set<atomId_t> reflist = getDistanceList(distance, position, atoms);
     std::set<atomId_t> testlist = getIdList(atomlist);
-    CPPUNIT_ASSERT_EQUAL( reflist, testlist );
+    CPPUNIT_ASSERT( reflist == testlist );
   }
   // ... from (4,0,0) up to 2.9 (i.e. more shells or different view)
@@ -284,5 +284,5 @@
     std::set<atomId_t> reflist = getDistanceList(distance, Vector(4.,0.,0.), atoms);
     std::set<atomId_t> testlist = getIdList(atomlist);
-    CPPUNIT_ASSERT_EQUAL( reflist, testlist );
+    CPPUNIT_ASSERT( reflist == testlist );
   }
   // ... from (10,0,0) up to 1.5
@@ -294,5 +294,5 @@
     std::set<atomId_t> reflist = getDistanceList(distance, *position, atoms);
     std::set<atomId_t> testlist = getIdList(atomlist);
-    CPPUNIT_ASSERT_EQUAL( reflist, testlist );
+    CPPUNIT_ASSERT( reflist == testlist );
     delete position;
   }
Index: src/Fragmentation/Mask.hpp
===================================================================
--- src/Fragmentation/Mask.hpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Fragmentation/Mask.hpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -35,5 +35,5 @@
    * @return true - bit set, false - bit not set
    */
-  bool isTrue(const T id) const {
+  bool isTrue(const T &id) const {
     const typename std::set<T>::const_iterator iter = std::set<T>::find(id);
     return (iter != std::set<T>::end());
@@ -45,5 +45,5 @@
    * @return true - bit set, false - bit not set
    */
-  bool isFalse(const T id) const {
+  bool isFalse(const T &id) const {
     return (!isTrue(id));
   }
@@ -53,7 +53,7 @@
    * @param id id to set to true
    */
-  void setTrue(const T id)
+  void setTrue(const T &id)
   {
-    insert(id);
+    std::set<T>::insert(id);
   }
 
@@ -62,9 +62,9 @@
    * @param id id to set to false
    */
-  void setFalse(const T id)
+  void setFalse(const T &id)
   {
     typename std::set<T>::iterator iter = std::set<T>::find(id);
     if (iter != std::set<T>::end())
-      erase(iter);
+      std::set<T>::erase(iter);
   }
 
@@ -74,5 +74,5 @@
    * @param value bit giving whether to set or unset
    */
-  void setValue(const T id, bool value) {
+  void setValue(const T &id, bool value) {
     if (value)
       setTrue(id);
@@ -86,5 +86,5 @@
    * @return "t" or "f" whether bit is set or not.
    */
-  const char* printBit(const T id) const
+  const char* printBit(const T &id) const
   {
     const typename std::set<T>::const_iterator iter = std::set<T>::find(id);
Index: src/Fragmentation/Summation/SetValues/unittests/IndexedVectorsUnitTest.cpp
===================================================================
--- src/Fragmentation/Summation/SetValues/unittests/IndexedVectorsUnitTest.cpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Fragmentation/Summation/SetValues/unittests/IndexedVectorsUnitTest.cpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -116,6 +116,6 @@
 
   CPPUNIT_ASSERT_EQUAL( (size_t)2, testivectors.vectors.size() );
-  CPPUNIT_ASSERT_EQUAL( ones, testivectors.vectors[1] );
-  CPPUNIT_ASSERT_EQUAL( threes, testivectors.vectors[3] );
+  CPPUNIT_ASSERT( ones == testivectors.vectors[1] );
+  CPPUNIT_ASSERT( threes == testivectors.vectors[3] );
   CPPUNIT_ASSERT( testivectors.vectors.find(-1) == testivectors.vectors.end() );
 }
@@ -145,7 +145,7 @@
     CPPUNIT_ASSERT_EQUAL( IndexedVectors::FixedSize, iter->second.size() );
   }
-  CPPUNIT_ASSERT_EQUAL( result, ivectors->vectors[1] );
-  CPPUNIT_ASSERT_EQUAL( twos, ivectors->vectors[2] );
-  CPPUNIT_ASSERT_EQUAL( threes, ivectors->vectors[3] );
+  CPPUNIT_ASSERT( result == ivectors->vectors[1] );
+  CPPUNIT_ASSERT( twos == ivectors->vectors[2] );
+  CPPUNIT_ASSERT( threes == ivectors->vectors[3] );
 }
 
@@ -177,7 +177,7 @@
     CPPUNIT_ASSERT_EQUAL( IndexedVectors::FixedSize, iter->second.size() );
   }
-  CPPUNIT_ASSERT_EQUAL( result, ivectors->vectors[1] );
-  CPPUNIT_ASSERT_EQUAL( twos, ivectors->vectors[2] );
-  CPPUNIT_ASSERT_EQUAL( thirdresult, ivectors->vectors[3] );
+  CPPUNIT_ASSERT( result == ivectors->vectors[1] );
+  CPPUNIT_ASSERT( twos == ivectors->vectors[2] );
+  CPPUNIT_ASSERT( thirdresult == ivectors->vectors[3] );
 }
 
Index: src/Graph/unittests/AdjacencyListUnitTest.cpp
===================================================================
--- src/Graph/unittests/AdjacencyListUnitTest.cpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Graph/unittests/AdjacencyListUnitTest.cpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -253,5 +253,5 @@
   // assert equality after parsing
   CPPUNIT_ASSERT_EQUAL( FileAdjacency.atombondmap.size(), WorldAdjacency.atombondmap.size() );
-  CPPUNIT_ASSERT_EQUAL( FileAdjacency.atombondmap, WorldAdjacency.atombondmap );
+  CPPUNIT_ASSERT( FileAdjacency.atombondmap == WorldAdjacency.atombondmap );
   CPPUNIT_ASSERT( WorldAdjacency < FileAdjacency );
   CPPUNIT_ASSERT( WorldAdjacency > FileAdjacency );
@@ -282,5 +282,5 @@
   // assert equality after parsing
   CPPUNIT_ASSERT_EQUAL( FileAdjacency.atombondmap.size(), WorldAdjacency.atombondmap.size() );
-  CPPUNIT_ASSERT_EQUAL( FileAdjacency.atombondmap, WorldAdjacency.atombondmap );
+  CPPUNIT_ASSERT( FileAdjacency.atombondmap == WorldAdjacency.atombondmap );
   CPPUNIT_ASSERT( WorldAdjacency == FileAdjacency );
 }
Index: src/Parameters/Validators/DiscreteValidator.hpp
===================================================================
--- src/Parameters/Validators/DiscreteValidator.hpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Parameters/Validators/DiscreteValidator.hpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -19,6 +19,7 @@
 #include <vector>
 
+#include "Parameters/ParameterExceptions.hpp"
+
 class DiscreteValueTest;
-class ParameterValidatorException;
 
 /** A validator with a discrete list of valid values.
Index: src/Parameters/Validators/RangeValidator.hpp
===================================================================
--- src/Parameters/Validators/RangeValidator.hpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Parameters/Validators/RangeValidator.hpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -18,5 +18,6 @@
 #include "CodePatterns/Range.hpp"
 
-class ParameterValueException;
+#include "Parameters/ParameterExceptions.hpp"
+
 
 /** A validator with an interval of valid values.
Index: src/Parameters/Validators/RangeValidator_impl.hpp
===================================================================
--- src/Parameters/Validators/RangeValidator_impl.hpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Parameters/Validators/RangeValidator_impl.hpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -14,6 +14,4 @@
 #include <config.h>
 #endif
-
-#include "Parameters/ParameterExceptions.hpp"
 
 template <class T>
Index: src/Parser/PcpParser_helper.cpp
===================================================================
--- src/Parser/PcpParser_helper.cpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Parser/PcpParser_helper.cpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -36,6 +36,8 @@
 
 #include <boost/tokenizer.hpp>
+#include <map>
 #include <sstream>
 #include <string>
+#include <vector>
 
 #include "CodePatterns/Log.hpp"
@@ -548,5 +550,5 @@
     }
 
-    map<int, atom *> AtomList[MaxTypes];
+    std::vector<map<int, atom *> > AtomList(MaxTypes);
     map<int, atom *> LinearList;
     atom *neues = NULL;
Index: src/Shapes/BaseShapes.cpp
===================================================================
--- src/Shapes/BaseShapes.cpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/Shapes/BaseShapes.cpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -416,8 +416,8 @@
   int x[2]={-1,+1};
   for(int i=NDIM;i--;){
-    for(int p=0;p<2;++p){
+    for(int j=0;j<2;++j){
       if(c==2) goto end; // I know this sucks, but breaking two loops is stupid
       Vector base;
-      base[i]=x[p];
+      base[i]=x[j];
       // base now points to the surface and is normal to it at the same time
       Plane p(base,base);
Index: src/UIElements/Dialog.hpp
===================================================================
--- src/UIElements/Dialog.hpp	(revision 40d3ea4c09f41a4483d9ca8873ae60f5d9097dc9)
+++ src/UIElements/Dialog.hpp	(revision 87d6bd78e6824d834fbfdaa85f023c5da985904a)
@@ -191,5 +191,5 @@
   virtual void update(){}
 
-protected:
+public:
   // methodology for handling queries
   // all queries are stored and then performed at appropriate times
