diff --git a/src/language/ASTBuilder.cpp b/src/language/ASTBuilder.cpp
index 67485c29717aee0910db7427733f5c5d10bee041..6790f5bc6cfde884b963abee09c0a3eacf3ee1d4 100644
--- a/src/language/ASTBuilder.cpp
+++ b/src/language/ASTBuilder.cpp
@@ -260,11 +260,11 @@ using selector =
                        ASTBuilder::simplify_stream_statement::on<ostream_statement>>;
 
 template <typename InputT>
-std::unique_ptr<language::ASTNode>
+std::unique_ptr<ASTNode>
 ASTBuilder::build(InputT& input)
 {
-  return parse_tree::parse<language::grammar, language::ASTNode, selector, nothing, language::errors>(input);
+  return parse_tree::parse<language::grammar, ASTNode, selector, nothing, language::errors>(input);
 }
 
-template std::unique_ptr<language::ASTNode> ASTBuilder::build(read_input<>& input);
-template std::unique_ptr<language::ASTNode> ASTBuilder::build(string_input<>& input);
+template std::unique_ptr<ASTNode> ASTBuilder::build(read_input<>& input);
+template std::unique_ptr<ASTNode> ASTBuilder::build(string_input<>& input);
diff --git a/src/language/ASTBuilder.hpp b/src/language/ASTBuilder.hpp
index 048c771992642ef5b3c3b92f05181e99fea5f18c..f13532e31cba43e91d85262483f3813e828766f9 100644
--- a/src/language/ASTBuilder.hpp
+++ b/src/language/ASTBuilder.hpp
@@ -18,7 +18,7 @@ struct ASTBuilder
 
  public:
   template <typename InputT>
-  static std::unique_ptr<language::ASTNode> build(InputT& input);
+  static std::unique_ptr<ASTNode> build(InputT& input);
 };
 
 #endif   // AST_BUILDER_HPP
diff --git a/src/language/ASTNode.hpp b/src/language/ASTNode.hpp
index a485cf787522d1769313f10b1eabdc799e3f1a57..4b1886a660b97e658675e8620c513716a6d490cb 100644
--- a/src/language/ASTNode.hpp
+++ b/src/language/ASTNode.hpp
@@ -10,8 +10,6 @@
 
 using namespace TAO_PEGTL_NAMESPACE;
 
-namespace language
-{
 struct ExecUntilBreakOrContinue
 {
   enum class JumpType
@@ -52,7 +50,6 @@ struct ExecUntilBreakOrContinue
   }
 };
 
-class SymbolTable;
 class INodeProcessor
 {
  public:
@@ -65,8 +62,13 @@ class INodeProcessor
   virtual ~INodeProcessor() {}
 };
 
+class SymbolTable;
+
 struct ASTNode : public parse_tree::basic_node<ASTNode>
 {
+  using DataType    = language::DataType;
+  using DataVariant = language::DataVariant;
+
   std::shared_ptr<SymbolTable> m_symbol_table;
   std::unique_ptr<INodeProcessor> m_node_processor;
 
@@ -83,6 +85,5 @@ struct ASTNode : public parse_tree::basic_node<ASTNode>
   DataType m_data_type{DataType::undefined_t};
   DataVariant m_value;
 };
-}   // namespace language
 
 #endif   // AST_NODE_HPP
diff --git a/src/language/ASTPrinter.cpp b/src/language/ASTPrinter.cpp
index 0664cb358ef5afcf29b0ce310f3fad510a0faa49..aab87af9ead8c199a2cf6f3ad270044e3d025d9c 100644
--- a/src/language/ASTPrinter.cpp
+++ b/src/language/ASTPrinter.cpp
@@ -85,8 +85,7 @@ operator<<(std::ostream& os, const ASTPrinter& ast_printer)
   return os;
 }
 
-ASTPrinter::ASTPrinter(const language::ASTNode& node, Format format, std::initializer_list<Info> initializer_list)
-  : m_node{node}
+ASTPrinter::ASTPrinter(const ASTNode& node, Format format, std::initializer_list<Info> initializer_list) : m_node{node}
 {
   if (format == Format::pretty) {
     T_junction  = " \u251c\u2500\u2500";
diff --git a/src/language/ASTSymbolTableBuilder.cpp b/src/language/ASTSymbolTableBuilder.cpp
index a0f525522dbbbe7a5b6094684ba292e9b51bceab..ef16c6894fc3b8687544cb91cc29cb6b2c5dd96c 100644
--- a/src/language/ASTSymbolTableBuilder.cpp
+++ b/src/language/ASTSymbolTableBuilder.cpp
@@ -3,8 +3,6 @@
 
 #include <PEGGrammar.hpp>
 
-namespace language
-{
 void
 ASTSymbolTableBuilder::buildSymbolTable(ASTNode& n, std::shared_ptr<SymbolTable>& symbol_table)
 {
@@ -53,4 +51,3 @@ ASTSymbolTableBuilder::ASTSymbolTableBuilder(ASTNode& node)
   this->buildSymbolTable(node, symbol_table);
   std::cout << " - checked symbols declaration\n";
 }
-}   // namespace language
diff --git a/src/language/ASTSymbolTableBuilder.hpp b/src/language/ASTSymbolTableBuilder.hpp
index 86dc7ada7e1c0d86ab7375c100474c1dd791a648..4a7d7563abc3f10aceec990a6c25bc9482a0ed0b 100644
--- a/src/language/ASTSymbolTableBuilder.hpp
+++ b/src/language/ASTSymbolTableBuilder.hpp
@@ -2,10 +2,7 @@
 #define AST_SYMBOL_TABLE_BUILDER_HPP
 
 #include <ASTNode.hpp>
-
-namespace language
-{
-class SymbolTable;
+#include <SymbolTable.hpp>
 
 class ASTSymbolTableBuilder
 {
@@ -19,6 +16,5 @@ class ASTSymbolTableBuilder
 
   ~ASTSymbolTableBuilder() = default;
 };
-}   // namespace language
 
 #endif   // AST_SYMBOL_TABLE_BUILDER_HPP
diff --git a/src/language/PugsParser.cpp b/src/language/PugsParser.cpp
index adff2aa4a7b358b7e573ec580c44ae6ed55be7f5..d2d3c89102289daca1680926edf11d16eee70d9d 100644
--- a/src/language/PugsParser.cpp
+++ b/src/language/PugsParser.cpp
@@ -408,13 +408,13 @@ parser(const std::string& filename)
   std::cout << rang::style::bold << "Parsing file " << rang::style::reset << rang::style::underline << filename
             << rang::style::reset << " ...\n";
 
-  std::unique_ptr<language::ASTNode> root_node;
+  std::unique_ptr<ASTNode> root_node;
   read_input input(filename);
   try {
     root_node = ASTBuilder::build(input);
     std::cout << " - AST is built ...... [done]\n";
 
-    language::ASTSymbolTableBuilder{*root_node};
+    ASTSymbolTableBuilder{*root_node};
 
     language::check_symbol_initialization(*root_node);
     {
@@ -438,7 +438,7 @@ parser(const std::string& filename)
 
     std::cout << language::ASTPrinter{*root_node} << '\n';
 
-    language::ExecUntilBreakOrContinue exec_all;
+    ExecUntilBreakOrContinue exec_all;
     root_node->execute(exec_all);
     std::cout << *(root_node->m_symbol_table) << '\n';
   }
diff --git a/src/language/SymbolTable.hpp b/src/language/SymbolTable.hpp
index e2e874f5b56b8aa4dec559a1753828c2f2e12c99..3cfd66a5b392a852ca752de777a99a09d3bf46dd 100644
--- a/src/language/SymbolTable.hpp
+++ b/src/language/SymbolTable.hpp
@@ -1,12 +1,17 @@
 #ifndef SYMBOL_TABLE_HPP
 #define SYMBOL_TABLE_HPP
 
-namespace language
-{
+#include <ASTNodeDataType.hpp>
+
 class SymbolTable
 {
+ public:
   class Attributes
   {
+   private:
+    using DataType    = language::DataType;
+    using DataVariant = language::DataVariant;
+
     bool m_is_initialized{false};
     DataType m_data_type{DataType::undefined_t};
     DataVariant m_value;
@@ -121,6 +126,5 @@ class SymbolTable
     ;
   }
 };
-}   // namespace language
 
 #endif   // SYMBOL_TABLE_HPP