diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7513c87..3819930 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,6 +60,7 @@
     src/ast.cpp
     src/utils.cpp
     src/parser_context.cpp
+    src/interpreter.cpp
     )
 
 add_library(parser STATIC ${parser_SRCS})
diff --git a/src/interpreter.cpp b/src/interpreter.cpp
new file mode 100644
index 0000000..ce01c66
--- /dev/null
+++ b/src/interpreter.cpp
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2018 CESNET, https://photonics.cesnet.cz/
+ * Copyright (C) 2018 FIT CVUT, https://fit.cvut.cz/
+ *
+ * Written by Václav Kubernát <kubervac@fit.cvut.cz>
+ *
+*/
+
+#include "interpreter.hpp"
+
+void Interpreter::operator()(const cd_& cd) const
+{
+    m_parser.changeNode(cd.m_path);
+}
+
+Interpreter::Interpreter(Parser& parser)
+    : m_parser(parser)
+{
+}
diff --git a/src/interpreter.hpp b/src/interpreter.hpp
new file mode 100644
index 0000000..72c839e
--- /dev/null
+++ b/src/interpreter.hpp
@@ -0,0 +1,20 @@
+/*
+ * Copyright (C) 2018 CESNET, https://photonics.cesnet.cz/
+ * Copyright (C) 2018 FIT CVUT, https://fit.cvut.cz/
+ *
+ * Written by Václav Kubernát <kubervac@fit.cvut.cz>
+ *
+*/
+
+#pragma once
+
+#include <boost/variant/static_visitor.hpp>
+#include "parser.hpp"
+
+struct Interpreter : boost::static_visitor<void> {
+    Interpreter(Parser &m_parser);
+
+    void operator()(const cd_&) const;
+private:
+    Parser& m_parser;
+};
diff --git a/src/main.cpp b/src/main.cpp
index 3a66ee4..98c68ca 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -11,6 +11,7 @@
 #include <iostream>
 #include <string>
 #include "NETCONF_CLI_VERSION.h"
+#include "interpreter.hpp"
 #include "parser.hpp"
 #include "schema.hpp"
 
@@ -35,10 +36,7 @@
 using x3::lexeme;
 using x3::lit;
 
-void interpret(cd_ command, Parser& parser)
-{
-    parser.changeNode(command.m_path);
-}
+using command = boost::variant<cd_>;
 
 int main(int argc, char* argv[])
 {
@@ -69,8 +67,8 @@
             break;
 
         try {
-            cd_ command = parser.parseCommand(input, std::cout);
-            interpret(command, parser);
+            command cmd = parser.parseCommand(input, std::cout);
+            boost::apply_visitor(Interpreter(parser), cmd);
         } catch (InvalidCommandException& ex) {
             std::cerr << ex.what() << std::endl;
         }
