diff --git a/src/Element.h b/src/Element.h
index fc225baebf16643c57519aa9836064b352b7c873..a87b64475f01aa9f10ed6b53d78e75324bea3746 100644
--- a/src/Element.h
+++ b/src/Element.h
@@ -11,7 +11,8 @@ private:
     std::shared_ptr<Command> cmd;
 
 public:
-    Element(std::shared_ptr<Command> _cmd) { cmd = _cmd; }
+    Element(Command _cmd) { cmd = std::make_shared<Command>(_cmd); }
+    ~Element() { std::cout << "~Element - " << cmd->getName() << '\n'; }
     std::shared_ptr<Command> getCommand() { return cmd; }
     
     void setNext(std::shared_ptr<Element> _next) { next = _next; }