diff --git a/include/aidge/graphRegex/GraphParser.hpp b/include/aidge/graphRegex/GraphParser.hpp
index cfe25c22709a3516b4f55ba774a616e3b94a055c..2c25ac0b76368242891e6e5ba92c2c5fc913a23c 100644
--- a/include/aidge/graphRegex/GraphParser.hpp
+++ b/include/aidge/graphRegex/GraphParser.hpp
@@ -12,15 +12,17 @@ namespace Aidge{
 /**
  * @brief this class uses the lexer to create an AST according to a set of gramer rules
  */
-class GraphParser{
+class GraphParser {
 
-    public:
+public:
     /**
      * @brief AST graph creation function
      * @param gRegexExpressions String representing the logical fuction to be performed
      */
     GraphParser(const std::string gRegexExpressions);
 
+    ~GraphParser() noexcept;
+
     /**
      * @brief AST graph creation function
      * @return The AST tree
@@ -35,7 +37,7 @@ class GraphParser{
     const std::string getQuery();
 
 
-    private:
+private:
     /**
      * @brief restart at the start of the ConditionalExpressions for LEXER and restart  mCurrentToken
      */
diff --git a/include/aidge/nodeTester/ConditionalParser.hpp b/include/aidge/nodeTester/ConditionalParser.hpp
index c21eca0407b77808287138fd39e33c00d241fb70..1f3671ea5b68008a67be5d6a63d09051d49939d5 100644
--- a/include/aidge/nodeTester/ConditionalParser.hpp
+++ b/include/aidge/nodeTester/ConditionalParser.hpp
@@ -29,7 +29,7 @@ using ASTNodeCh = std::vector<std::shared_ptr<AstNode<ConditionalTokenTypes>>>;
 /**
  * @brief this class uses the lexer to create an AST according to a set of gramer rules
  */
-class ConditionalParser{
+class ConditionalParser {
 
     public:
     /**
@@ -38,6 +38,8 @@ class ConditionalParser{
      */
     ConditionalParser(const std::string ConditionalExpressions);
 
+    ~ConditionalParser() noexcept;
+
     /**
      * @brief AST graph creation function
      * @return The AST tree
diff --git a/src/graphRegex/GraphParser.cpp b/src/graphRegex/GraphParser.cpp
index 9c3d10114d777cf7755432a5723a3b70b81d37a1..9ad96a34bfbe36bdae65cae072eb4f1edcd3faaf 100644
--- a/src/graphRegex/GraphParser.cpp
+++ b/src/graphRegex/GraphParser.cpp
@@ -1,19 +1,23 @@
-#include "aidge/graphRegex/GraphParser.hpp"
+#include <memory>
+#include <string>
+#include <vector>
 
-using namespace Aidge; 
+#include "aidge/graphRegex/GraphParser.hpp"
 
-GraphParser::GraphParser(const std::string gRegexExpressions):
+Aidge::GraphParser::GraphParser(const std::string gRegexExpressions):
 mLexer(gRegexExpressions)
 {
     mCurrentToken = mLexer.getNextToken();
 }
 
+Aidge::GraphParser::~GraphParser() noexcept = default;
 
-const std::string GraphParser::getQuery(){
+
+const std::string Aidge::GraphParser::getQuery(){
     return mLexer.getQuery();
 }
 
-std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::parse(void){
+std::shared_ptr<Aidge::AstNode<Aidge::gRegexTokenTypes>> Aidge::GraphParser::parse(void){
 
     std::shared_ptr<AstNode<gRegexTokenTypes>> astTree = constructAstAllExpr();
     rstParser();
@@ -21,14 +25,14 @@ std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::parse(void){
 }
 
 
-void GraphParser::rstParser(void){
+void Aidge::GraphParser::rstParser(void){
     mLexer.rstPosition();
     mCurrentToken = mLexer.getNextToken();
 }
 
 
-void GraphParser::ackToken(gRegexTokenTypes  tokenType){
-    
+void Aidge::GraphParser::ackToken(gRegexTokenTypes  tokenType){
+
     if(mCurrentToken->getType() == tokenType ){
         try {
             mCurrentToken = mLexer.getNextToken();
@@ -48,7 +52,7 @@ void GraphParser::ackToken(gRegexTokenTypes  tokenType){
 /*
 exp : KEY(QOM | QZM)?  | CKEY | domain
 */
-std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstExp(void)
+std::shared_ptr<Aidge::AstNode<Aidge::gRegexTokenTypes>> Aidge::GraphParser::constructAstExp(void)
 {
 
     try{
@@ -86,15 +90,15 @@ std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstExp(void)
 }
 
 /*
-seq :exp (NEXT seq)* 
+seq :exp (NEXT seq)*
 */
-std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstSeq(void)
+std::shared_ptr<Aidge::AstNode<Aidge::gRegexTokenTypes>> Aidge::GraphParser::constructAstSeq(void)
 {
 
    try{
-   
+
         std::shared_ptr<AstNode<gRegexTokenTypes>> left = constructAstExp();
-        if(mCurrentToken->getType() == gRegexTokenTypes::NEXT ) 
+        if(mCurrentToken->getType() == gRegexTokenTypes::NEXT )
         {
             std::shared_ptr<ParsingToken<gRegexTokenTypes>> token = mCurrentToken->copy();
             ackToken(gRegexTokenTypes::NEXT);
@@ -114,15 +118,15 @@ std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstSeq(void)
 
 
 /*
-LPAREN seq RPAREN (QOM | QZM) 
+LPAREN seq RPAREN (QOM | QZM)
 */
-std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstDomain(void)
+std::shared_ptr<Aidge::AstNode<Aidge::gRegexTokenTypes>> Aidge::GraphParser::constructAstDomain(void)
 {
 
    try{
         std::shared_ptr<ParsingToken<gRegexTokenTypes>> token ;
         std::shared_ptr<AstNode<gRegexTokenTypes>> node ;
- 
+
         token = mCurrentToken->copy();
         ackToken(gRegexTokenTypes::LPAREN);
         node = std::make_shared<AstNode<gRegexTokenTypes>>(token,
@@ -144,7 +148,7 @@ std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstDomain(void)
             errorMessage << "Bad syntax constructAstDomain must have quantifier \n";
             throw std::runtime_error(errorMessage.str());
         }
-   
+
         return node;
 
     } catch (const std::runtime_error& e) {
@@ -157,12 +161,12 @@ std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstDomain(void)
 /*
         allExpr: seq (SEP allExpr)* | STOP
 */
-std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstAllExpr(void)
+std::shared_ptr<Aidge::AstNode<Aidge::gRegexTokenTypes>> Aidge::GraphParser::constructAstAllExpr(void)
 {
 
     try{
         std::shared_ptr<AstNode<gRegexTokenTypes>> left = constructAstSeq();
-        if(mCurrentToken->getType() == gRegexTokenTypes::SEP ) 
+        if(mCurrentToken->getType() == gRegexTokenTypes::SEP )
         {
             std::shared_ptr<ParsingToken<gRegexTokenTypes>> token = mCurrentToken->copy();
             ackToken(gRegexTokenTypes::SEP);
@@ -170,7 +174,7 @@ std::shared_ptr<AstNode<gRegexTokenTypes>> GraphParser::constructAstAllExpr(void
             if(mCurrentToken->getType() == gRegexTokenTypes::STOP )
             {
                  return left;
-            } 
+            }
             std::shared_ptr<AstNode<gRegexTokenTypes>> newNode = std::make_shared<AstNode<gRegexTokenTypes>>(token,
             std::vector<std::shared_ptr<AstNode<gRegexTokenTypes>>>{left,constructAstAllExpr()});
             left = newNode;
diff --git a/src/nodeTester/ConditionalParser.cpp b/src/nodeTester/ConditionalParser.cpp
index 3ca2843aabefe9f98bc8ad46a36fe03883d0baef..ba40c561375e0c09eb86009d447a782ab99d5d0b 100644
--- a/src/nodeTester/ConditionalParser.cpp
+++ b/src/nodeTester/ConditionalParser.cpp
@@ -1,23 +1,27 @@
+#include <memory>
+#include <vector>
 
 #include "aidge/nodeTester/ConditionalParser.hpp"
 
-using namespace Aidge;
-
 
 //////////////////////////////
 //ConditionalParser
 //////////////////////////////
 
-ConditionalParser::ConditionalParser(const std::string ConditionalExpressions):mLexer(ConditionalExpressions){
+Aidge::ConditionalParser::ConditionalParser(const std::string ConditionalExpressions)
+    : mLexer(ConditionalExpressions)
+{
     mCurrentToken = mLexer.getNextToken();
 }
 
-void ConditionalParser::rstParser(void){
+Aidge::ConditionalParser::~ConditionalParser() noexcept = default;
+
+void Aidge::ConditionalParser::rstParser(void){
     mLexer.rstPosition();
     mCurrentToken = mLexer.getNextToken();
 }
 
-void ConditionalParser::ackToken(ConditionalTokenTypes  tokenType){
+void Aidge::ConditionalParser::ackToken(ConditionalTokenTypes  tokenType){
     if(mCurrentToken->getType() == tokenType ){
 
         try {
@@ -38,7 +42,7 @@ void ConditionalParser::ackToken(ConditionalTokenTypes  tokenType){
 
 
 
-std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstVal(void){
+std::shared_ptr<Aidge::AstNode<Aidge::ConditionalTokenTypes>> Aidge::ConditionalParser::constructAstVal(void){
     /*
     val : (KEY|INTEGER|FOAT|STRING|LAMBDA)
     */
@@ -76,7 +80,7 @@ std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstV
 
 }
 
-std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstLambda(void){
+std::shared_ptr<Aidge::AstNode<Aidge::ConditionalTokenTypes>> Aidge::ConditionalParser::constructAstLambda(void){
     /*
     AstLambda :  LAMBDA val (ARGSEP val)* RPAREN
     */
@@ -94,7 +98,7 @@ std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstL
     return std::make_shared<AstNode<ConditionalTokenTypes>>(tokenLdb,paramLambda);
 }
 
-std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstCmpr(void){
+std::shared_ptr<Aidge::AstNode<Aidge::ConditionalTokenTypes>> Aidge::ConditionalParser::constructAstCmpr(void){
       /*
         cmpr   : val (EQ|NEQ) val | LPAREN expr RPAREN
         NOT ir ?
@@ -125,7 +129,7 @@ std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstC
      }
 }
 
-std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstExpr(std::size_t precLimit /*= 0*/){
+std::shared_ptr<Aidge::AstNode<Aidge::ConditionalTokenTypes>> Aidge::ConditionalParser::constructAstExpr(std::size_t precLimit /*= 0*/){
     /*
         expr   : cmpr ((AND | OR) cmpr)*
         the NOT is not binary OP can be use in pratt
@@ -134,27 +138,27 @@ std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstE
         OR
     */
 
-   //the not 
+   //the not
     std::shared_ptr<AstNode<ConditionalTokenTypes>> left;
     std::shared_ptr<ParsingToken<ConditionalTokenTypes>> token = mCurrentToken->copy();
-    
+
     if (mCurrentToken->getType() == ConditionalTokenTypes::NOT  ){
         ackToken(ConditionalTokenTypes::NOT );
         left= std::make_shared<AstNode<ConditionalTokenTypes>>(token,ASTNodeCh{constructAstCmpr()});
     }else{
         left= constructAstCmpr();
     }
-    
+
     //pratt
-    while (mCurrentToken->getType() != ConditionalTokenTypes::STOP ) //security 
+    while (mCurrentToken->getType() != ConditionalTokenTypes::STOP ) //security
     {
         token = mCurrentToken->copy();
-        //if the token is not in the map is not a operator so we consider a prec of 0 
+        //if the token is not in the map is not a operator so we consider a prec of 0
         if (ConditionalPrec.find(token->getType()) ==ConditionalPrec.end() ){
             return left;
         }
 
-        //if my actual operator have a prec <= of the last operator 
+        //if my actual operator have a prec <= of the last operator
         std::size_t prec = ConditionalPrec.at(token->getType());
         if (prec <= precLimit){
             return left;
@@ -165,7 +169,7 @@ std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstE
 
         std::shared_ptr<AstNode<ConditionalTokenTypes>> right = constructAstExpr(prec);
 
-        //i'm not sur what append to newNode 
+        //i'm not sur what append to newNode
         //std::shared_ptr<AstNode<ConditionalTokenTypes>> newNode = std::make_shared<AstNode<ConditionalTokenTypes>>(token,ASTNodeCh{left,constructAstCmpr()});
         std::shared_ptr<AstNode<ConditionalTokenTypes>> newNode = std::make_shared<AstNode<ConditionalTokenTypes>>(token,ASTNodeCh{left,right});
         left = newNode;
@@ -174,10 +178,10 @@ std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::constructAstE
 }
 
 
-std::shared_ptr<AstNode<ConditionalTokenTypes>> ConditionalParser::parse(void){
+std::shared_ptr<Aidge::AstNode<Aidge::ConditionalTokenTypes>> Aidge::ConditionalParser::parse(void){
     /*
         expr   : cmpr ((AND | OR) cmpr)*
-        cmpr   : val (EQ|NEQ) val | LPAREN expr RPAREN | BOOL | LAMBDA 
+        cmpr   : val (EQ|NEQ) val | LPAREN expr RPAREN | BOOL | LAMBDA
         val    : (KEY|INTEGER|FOAT|STRING|LAMBDA)
         lambda :  LAMBDA val (ARGSEP val)* RPAREN
     */