diff --git a/src/Element.h b/src/Element.h
new file mode 100644
index 0000000000000000000000000000000000000000..fc225baebf16643c57519aa9836064b352b7c873
--- /dev/null
+++ b/src/Element.h
@@ -0,0 +1,22 @@
+#pragma once
+#include <memory>
+
+#include "Command.h"
+
+class Element
+{
+private:
+    std::shared_ptr<Element> next;
+    std::shared_ptr<Element> prev;
+    std::shared_ptr<Command> cmd;
+
+public:
+    Element(std::shared_ptr<Command> _cmd) { cmd = _cmd; }
+    std::shared_ptr<Command> getCommand() { return cmd; }
+    
+    void setNext(std::shared_ptr<Element> _next) { next = _next; }
+    std::shared_ptr<Element> getNext() { return next; }
+
+    void setPrev(std::shared_ptr<Element> _prev) { prev = _prev; }
+    std::shared_ptr<Element> getPrev() { return prev; }
+};
\ No newline at end of file