diff --git a/libwccl/parser/ParserException.cpp b/libwccl/parser/ParserException.cpp
index b2ca3661cf5f7c10b52ba1ae210f8baa3a61766a..3d5999cf28063c3c856a0ae1d45b1a6796a15977 100644
--- a/libwccl/parser/ParserException.cpp
+++ b/libwccl/parser/ParserException.cpp
@@ -1,6 +1,6 @@
 #include <libwccl/parser/ParserException.h>
 
-ParserException::ParserException(std::string msg)
+ParserException::ParserException(std::string msg) : WcclError(msg)
 {
 	this->msg = msg;
 }
diff --git a/libwccl/parser/ParserException.h b/libwccl/parser/ParserException.h
index f08294eeade9b5cc2d6e17dc06b6e28fb0b12c57..a421a67428690eeb6d54e5492981ebfbe474e3c7 100644
--- a/libwccl/parser/ParserException.h
+++ b/libwccl/parser/ParserException.h
@@ -1,15 +1,19 @@
 #ifndef LIBWCCL_PARSER_PARSEREXCEPTION_H
 #define LIBWCCL_PARSER_PARSEREXCEPTION_H
 
+#include <libwccl/exception.h>
+
 #include <string>
 
-class ParserException //TODO derive from std::exception or wcclerror
+class ParserException : public Wccl::WcclError
 {
 public:
 		ParserException(const std::string);
+		~ParserException() throw() { 
+		}
 
 		//
-		const std::string info() const { return this->msg; }
+		std::string info() const { return this->msg; }
 
 private:
 	std::string msg;