Index: src/Descriptors/MoleculeFormulaDescriptor.cpp
===================================================================
--- src/Descriptors/MoleculeFormulaDescriptor.cpp	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ src/Descriptors/MoleculeFormulaDescriptor.cpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -42,5 +42,5 @@
 }
 
-MoleculeDescriptor MoleculeByFormula(const std::string &_formula) throw(ParseError){
+MoleculeDescriptor MoleculeByFormula(const std::string &_formula) throw(FormulaStringParseException){
   Formula formula(_formula);
   return MoleculeByFormula(formula);
Index: src/Descriptors/MoleculeFormulaDescriptor.hpp
===================================================================
--- src/Descriptors/MoleculeFormulaDescriptor.hpp	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ src/Descriptors/MoleculeFormulaDescriptor.hpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -16,10 +16,10 @@
 
 #include "Descriptors/MoleculeDescriptor.hpp"
-#include "Exceptions/ParseError.hpp"
+#include "Exceptions/FormulaStringParseException.hpp"
 
 class Formula;
 
 MoleculeDescriptor MoleculeByFormula(const Formula&);
-MoleculeDescriptor MoleculeByFormula(const std::string&) throw(ParseError);
+MoleculeDescriptor MoleculeByFormula(const std::string&) throw(FormulaStringParseException);
 
 #endif /* MOLECULEFORMULADESCRIPTOR_HPP_ */
Index: src/Exceptions/FormulaStringParseException.cpp
===================================================================
--- src/Exceptions/FormulaStringParseException.cpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
+++ src/Exceptions/FormulaStringParseException.cpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -0,0 +1,32 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/*
+ * FormulaStringParseException.cpp
+ *
+ *  Created on: Jul 21, 2010
+ *      Author: crueger
+ */
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "CodePatterns/MemDebug.hpp"
+
+#include "FormulaStringParseException.hpp"
+
+FormulaStringParseException::FormulaStringParseException(std::string file, int line) :
+  CustomException(file,line)
+{}
+
+FormulaStringParseException::~FormulaStringParseException() throw(){}
+
+const char* FormulaStringParseException::what() const throw(){
+  return "Could not parse string";
+}
Index: src/Exceptions/FormulaStringParseException.hpp
===================================================================
--- src/Exceptions/FormulaStringParseException.hpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
+++ src/Exceptions/FormulaStringParseException.hpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -0,0 +1,28 @@
+/*
+ * FormulaStringParseException.hpp
+ *
+ *  Created on: Jul 21, 2010
+ *      Author: crueger
+ */
+
+#ifndef PARSEERROR_HPP_
+#define PARSEERROR_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+#include "Exceptions/CustomException.hpp"
+
+class FormulaStringParseException : public CustomException
+{
+public:
+  FormulaStringParseException(std::string file, int line);
+  virtual ~FormulaStringParseException() throw();
+
+  virtual const char* what() const throw();
+};
+
+#endif /* PARSEERROR_HPP_ */
Index: src/Exceptions/Makefile.am
===================================================================
--- src/Exceptions/Makefile.am	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ src/Exceptions/Makefile.am	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -16,5 +16,5 @@
   NotOnSurfaceException.cpp \
   ShapeException.cpp \
-  ParseError.cpp \
+  FormulaStringParseException.cpp \
   SkewException.cpp \
   ZeroVectorException.cpp
@@ -29,5 +29,5 @@
   NotInvertibleException.hpp \
   NotOnSurfaceException.hpp \
-  ParseError.hpp \
+  FormulaStringParseException.hpp \
   SkewException.hpp \
   ZeroVectorException.hpp
Index: src/Exceptions/ParseError.cpp
===================================================================
--- src/Exceptions/ParseError.cpp	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ 	(revision )
@@ -1,32 +1,0 @@
-/*
- * Project: MoleCuilder
- * Description: creates and alters molecular systems
- * Copyright (C)  2010 University of Bonn. All rights reserved.
- * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
- */
-
-/*
- * ParseError.cpp
- *
- *  Created on: Jul 21, 2010
- *      Author: crueger
- */
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "CodePatterns/MemDebug.hpp"
-
-#include "ParseError.hpp"
-
-ParseError::ParseError(std::string file, int line) :
-  CustomException(file,line)
-{}
-
-ParseError::~ParseError() throw(){}
-
-const char* ParseError::what() const throw(){
-  return "Could not parse string";
-}
Index: src/Exceptions/ParseError.hpp
===================================================================
--- src/Exceptions/ParseError.hpp	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ 	(revision )
@@ -1,28 +1,0 @@
-/*
- * ParseError.hpp
- *
- *  Created on: Jul 21, 2010
- *      Author: crueger
- */
-
-#ifndef PARSEERROR_HPP_
-#define PARSEERROR_HPP_
-
-// include config.h
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-#include "Exceptions/CustomException.hpp"
-
-class ParseError : public CustomException
-{
-public:
-  ParseError(std::string file, int line);
-  virtual ~ParseError() throw();
-
-  virtual const char* what() const throw();
-};
-
-#endif /* PARSEERROR_HPP_ */
Index: src/Formula.cpp
===================================================================
--- src/Formula.cpp	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ src/Formula.cpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -68,5 +68,5 @@
 }
 
-void Formula::fromString(const std::string &formula) throw(ParseError){
+void Formula::fromString(const std::string &formula) throw(FormulaStringParseException){
   // make this transactional, in case an error is thrown
   Formula res;
@@ -77,5 +77,5 @@
 }
 
-int Formula::parseMaybeNumber(string::const_iterator &it,string::const_iterator &end) throw(ParseError){
+int Formula::parseMaybeNumber(string::const_iterator &it,string::const_iterator &end) throw(FormulaStringParseException){
   static const range<char> Numbers = makeRange('0',static_cast<char>('9'+1));
   int count = 0;
@@ -87,5 +87,5 @@
 }
 
-void Formula::parseFromString(string::const_iterator &it,string::const_iterator &end,char delimiter) throw(ParseError){
+void Formula::parseFromString(string::const_iterator &it,string::const_iterator &end,char delimiter) throw(FormulaStringParseException){
   // some constants needed for parsing... Assumes ASCII, change if other encodings are used
   static const range<char> CapitalLetters = makeRange('A',static_cast<char>('Z'+1));
@@ -103,5 +103,5 @@
       sub.parseFromString(++it,end,nextdelim);
       if(!sub.getElementCount()){
-        throw(ParseError(__FILE__,__LINE__));
+        throw(FormulaStringParseException(__FILE__,__LINE__));
       }
       int count = parseMaybeNumber(++it,end);
@@ -112,5 +112,5 @@
     // Atom names start with a capital letter
     if(!CapitalLetters.isInRange(*it))
-      throw(ParseError(__FILE__,__LINE__));
+      throw(FormulaStringParseException(__FILE__,__LINE__));
     shorthand+=(*it++);
     // the rest of the name follows
@@ -120,10 +120,10 @@
     // test if the shorthand exists
     if(!World::getInstance().getPeriode()->FindElement(shorthand))
-      throw(ParseError(__FILE__,__LINE__));
+      throw(FormulaStringParseException(__FILE__,__LINE__));
     // done, we can get the next one
     addElements(shorthand,count);
   }
   if(it==end && delimiter!=0){
-    throw(ParseError(__FILE__,__LINE__));
+    throw(FormulaStringParseException(__FILE__,__LINE__));
   }
 }
Index: src/Formula.hpp
===================================================================
--- src/Formula.hpp	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ src/Formula.hpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -19,5 +19,5 @@
 #include <iterator>
 
-#include "Exceptions/ParseError.hpp"
+#include "Exceptions/FormulaStringParseException.hpp"
 
 #include "types.hpp"
@@ -71,5 +71,5 @@
 
   std::string toString() const;
-  void fromString(const std::string&) throw(ParseError);
+  void fromString(const std::string&) throw(FormulaStringParseException);
   bool checkOut(std::ostream*) const;
 
@@ -112,6 +112,6 @@
 
 private:
-  void parseFromString(std::string::const_iterator&,std::string::const_iterator&,char) throw(ParseError);
-  int parseMaybeNumber(std::string::const_iterator &it,std::string::const_iterator &end) throw(ParseError);
+  void parseFromString(std::string::const_iterator&,std::string::const_iterator&,char) throw(FormulaStringParseException);
+  int parseMaybeNumber(std::string::const_iterator &it,std::string::const_iterator &end) throw(FormulaStringParseException);
   // this contains all counts of elements in the formula
   // the size of the actual structure might be used in comparisons
Index: src/unittests/FormulaUnitTest.cpp
===================================================================
--- src/unittests/FormulaUnitTest.cpp	(revision 00b59d53958fb689993d2537537ba47012ef9eaa)
+++ src/unittests/FormulaUnitTest.cpp	(revision 266875d4d7ac759da8b913a7815cb5e3e6ced275)
@@ -246,21 +246,21 @@
   }
   {
-    CPPUNIT_ASSERT_THROW(Formula formula("74107"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("  "),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("nAcL"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("NAcL"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("Na Cl"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("1NaCl"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("Mag"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("AgCl)"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("(Na"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("(Mag)"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("MgCl2)"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("((MgCl2)"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("(MgCl2))"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("(MgCl2]"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("[MgCl2)"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("N(aCl"),ParseError);
-    CPPUNIT_ASSERT_THROW(Formula formula("Na()Cl"),ParseError);
+    CPPUNIT_ASSERT_THROW(Formula formula("74107"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("  "),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("nAcL"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("NAcL"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("Na Cl"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("1NaCl"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("Mag"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("AgCl)"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("(Na"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("(Mag)"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("MgCl2)"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("((MgCl2)"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("(MgCl2))"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("(MgCl2]"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("[MgCl2)"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("N(aCl"),FormulaStringParseException);
+    CPPUNIT_ASSERT_THROW(Formula formula("Na()Cl"),FormulaStringParseException);
   }
 
