diff --git a/.docs/html/annotated.html b/.docs/html/annotated.html
index 9523ec3..6f5bb41 100644
--- a/.docs/html/annotated.html
+++ b/.docs/html/annotated.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -96,8 +96,8 @@
 <div class="contents">
 <div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
 <table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_m_d_handler.html" target="_self">CMDHandler</a></td><td class="desc">Class for command hanlder </td></tr>
-<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_m_d_list.html" target="_self">CMDList</a></td><td class="desc">Struct for command </td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classs_c_m_d.html" target="_self">sCMD</a></td><td class="desc">Class for command handler </td></tr>
+<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structs_c_m_d_list.html" target="_self">sCMDList</a></td><td class="desc">Struct for command list </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
@@ -105,7 +105,7 @@
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/annotated_dup.js b/.docs/html/annotated_dup.js
index 5ea5d82..b6a1c68 100644
--- a/.docs/html/annotated_dup.js
+++ b/.docs/html/annotated_dup.js
@@ -1,5 +1,5 @@
 var annotated_dup =
 [
-    [ "CMDHandler", "class_c_m_d_handler.html", "class_c_m_d_handler" ],
-    [ "CMDList", "struct_c_m_d_list.html", "struct_c_m_d_list" ]
+    [ "sCMD", "classs_c_m_d.html", "classs_c_m_d" ],
+    [ "sCMDList", "structs_c_m_d_list.html", "structs_c_m_d_list" ]
 ];
\ No newline at end of file
diff --git a/.docs/html/class_c_m_d_handler-members.html b/.docs/html/class_c_m_d_handler-members.html
index a65c9cd..34af937 100644
--- a/.docs/html/class_c_m_d_handler-members.html
+++ b/.docs/html/class_c_m_d_handler-members.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r2</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -99,15 +99,15 @@
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler</a>(const CMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="odd"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">exe</a>(char *input, uint8_t nullAsArg=0)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">getDelimiter</a>(uint8_t type) const</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(uint8_t type, char del)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102">getDelimiter</a>(sCMD_del_t type) const</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781">setDelimiter</a>(sCMD_del_t type, char del)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">~CMDHandler</a>(void)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:15:33 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/class_c_m_d_handler.html b/.docs/html/class_c_m_d_handler.html
index 757a7f1..32a615c 100644
--- a/.docs/html/class_c_m_d_handler.html
+++ b/.docs/html/class_c_m_d_handler.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r2</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -98,7 +98,7 @@
 </div><!--header-->
 <div class="contents">
 
-<p>Class for command hanlder.  
+<p>Class for command handler.  
  <a href="class_c_m_d_handler.html#details">More...</a></p>
 
 <p><code>#include &lt;<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>&gt;</code></p>
@@ -114,16 +114,16 @@
 <tr class="memitem:a81e71d6d511bd21237c40366bc31cf59"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">exe</a> (char *input, uint8_t nullAsArg=0)</td></tr>
 <tr class="memdesc:a81e71d6d511bd21237c40366bc31cf59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse and execute input C-string.  <a href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">More...</a><br /></td></tr>
 <tr class="separator:a81e71d6d511bd21237c40366bc31cf59"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a296dc2f654b585e7cb29caa69452d432"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a> (uint8_t type, char del)</td></tr>
-<tr class="memdesc:a296dc2f654b585e7cb29caa69452d432"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set delimiter character.  <a href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">More...</a><br /></td></tr>
-<tr class="separator:a296dc2f654b585e7cb29caa69452d432"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aa8501ee9fae636c4d0fc2311cab3a54b"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">getDelimiter</a> (uint8_t type) const</td></tr>
-<tr class="memdesc:aa8501ee9fae636c4d0fc2311cab3a54b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get delimiter character.  <a href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">More...</a><br /></td></tr>
-<tr class="separator:aa8501ee9fae636c4d0fc2311cab3a54b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a54ef63e2e190efe814b5cfadc1e8c781"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781">setDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type, char del)</td></tr>
+<tr class="memdesc:a54ef63e2e190efe814b5cfadc1e8c781"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set delimiter character.  <a href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781">More...</a><br /></td></tr>
+<tr class="separator:a54ef63e2e190efe814b5cfadc1e8c781"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae9ba05153e1ceda678e45ac52f151102"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102">getDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type) const</td></tr>
+<tr class="memdesc:ae9ba05153e1ceda678e45ac52f151102"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get delimiter character.  <a href="class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102">More...</a><br /></td></tr>
+<tr class="separator:ae9ba05153e1ceda678e45ac52f151102"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><div class="compoundTemplParams">template&lt;uint8_t max&gt;<br />
-class CMDHandler&lt; max &gt;</div><p >Class for command hanlder. </p>
+class CMDHandler&lt; max &gt;</div><p >Class for command handler. </p>
 <dl class="tparams"><dt>Template Parameters</dt><dd>
   <table class="tparams">
     <tr><td class="paramname">max</td><td>Maximum number of arguments command handler can handle for one command. </td></tr>
@@ -131,7 +131,7 @@
   </dd>
 </dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00096">96</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00124">124</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
 <a id="a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a" name="a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">&#9670;&#160;</a></span>CMDHandler()</h2>
@@ -207,14 +207,14 @@ <h2 class="memtitle"><span class="permalink"><a href="#a9e7ca0b6f0b25fbf1fb0a125
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00111">111</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00139">139</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 <div class="dynheader">
 Here is the call graph for this function:</div>
 <div class="dyncontent">
 <div class="center"><img src="class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.png" border="0" usemap="#aclass_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph" alt=""/></div>
 <map name="aclass_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph" id="aclass_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph">
 <area shape="rect" title="CMD handler constructor." alt="" coords="5,5,181,31"/>
-<area shape="rect" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="229,5,401,31"/>
+<area shape="rect" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="229,5,401,31"/>
 </map>
 </div>
 
@@ -249,14 +249,14 @@ <h2 class="memtitle"><span class="permalink"><a href="#ab0dff8dad9b29c91453a4f8c
 <p>CMD handler deconstructor. </p>
 <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00131">131</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00159">159</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 <div class="dynheader">
 Here is the call graph for this function:</div>
 <div class="dyncontent">
 <div class="center"><img src="class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.png" border="0" usemap="#aclass_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph" alt=""/></div>
 <map name="aclass_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph" id="aclass_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph">
 <area shape="rect" title="CMD handler deconstructor." alt="" coords="5,5,189,31"/>
-<area shape="rect" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="237,5,409,31"/>
+<area shape="rect" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="237,5,409,31"/>
 </map>
 </div>
 
@@ -311,21 +311,12 @@ <h2 class="memtitle"><span class="permalink"><a href="#a81e71d6d511bd21237c40366
 <dl class="section warning"><dt>Warning</dt><dd>This function modifies <code>input</code> C-string! </dd></dl>
 <dl class="section note"><dt>Note</dt><dd>This function parses input C-string from left to right. </dd></dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00157">157</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
-<div class="dynheader">
-Here is the call graph for this function:</div>
-<div class="dyncontent">
-<div class="center"><img src="class_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph.png" border="0" usemap="#aclass_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph" alt=""/></div>
-<map name="aclass_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph" id="aclass_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph">
-<area shape="rect" title="Parse and execute input C&#45;string." alt="" coords="5,5,129,31"/>
-<area shape="rect" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621" title="Find input command in cmdList." alt="" coords="177,5,248,31"/>
-</map>
-</div>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00186">186</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
-<a id="aa8501ee9fae636c4d0fc2311cab3a54b" name="aa8501ee9fae636c4d0fc2311cab3a54b"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aa8501ee9fae636c4d0fc2311cab3a54b">&#9670;&#160;</a></span>getDelimiter()</h2>
+<a id="ae9ba05153e1ceda678e45ac52f151102" name="ae9ba05153e1ceda678e45ac52f151102"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae9ba05153e1ceda678e45ac52f151102">&#9670;&#160;</a></span>getDelimiter()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -338,7 +329,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aa8501ee9fae636c4d0fc2311
         <tr>
           <td class="memname">char <a class="el" href="class_c_m_d_handler.html">CMDHandler</a>&lt; max &gt;::getDelimiter </td>
           <td>(</td>
-          <td class="paramtype">uint8_t&#160;</td>
+          <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a>&#160;</td>
           <td class="paramname"><em>type</em></td><td>)</td>
           <td> const</td>
         </tr>
@@ -353,18 +344,18 @@ <h2 class="memtitle"><span class="permalink"><a href="#aa8501ee9fae636c4d0fc2311
 <p>Get delimiter character. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">type</td><td>Delimiter type. </td></tr>
+    <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>Configured delimiter. </dd></dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00256">256</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00285">285</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
-<a id="a296dc2f654b585e7cb29caa69452d432" name="a296dc2f654b585e7cb29caa69452d432"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa69452d432">&#9670;&#160;</a></span>setDelimiter()</h2>
+<a id="a54ef63e2e190efe814b5cfadc1e8c781" name="a54ef63e2e190efe814b5cfadc1e8c781"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a54ef63e2e190efe814b5cfadc1e8c781">&#9670;&#160;</a></span>setDelimiter()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -377,7 +368,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa6
         <tr>
           <td class="memname">void <a class="el" href="class_c_m_d_handler.html">CMDHandler</a>&lt; max &gt;::setDelimiter </td>
           <td>(</td>
-          <td class="paramtype">uint8_t&#160;</td>
+          <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a>&#160;</td>
           <td class="paramname"><em>type</em>, </td>
         </tr>
         <tr>
@@ -402,19 +393,19 @@ <h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa6
 <p>Set delimiter character. </p>
 <dl class="params"><dt>Parameters</dt><dd>
   <table class="params">
-    <tr><td class="paramname">type</td><td>Delimiter type. </td></tr>
-    <tr><td class="paramname">del</td><td>Delimiter character. </td></tr>
+    <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr>
+    <tr><td class="paramname">del</td><td>New delimiter. </td></tr>
   </table>
   </dd>
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00244">244</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00273">273</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 <div class="dynheader">
 Here is the caller graph for this function:</div>
 <div class="dyncontent">
-<div class="center"><img src="class_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph.png" border="0" usemap="#aclass_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph" alt=""/></div>
-<map name="aclass_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph" id="aclass_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph">
+<div class="center"><img src="class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png" border="0" usemap="#aclass_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph" alt=""/></div>
+<map name="aclass_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph" id="aclass_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph">
 <area shape="rect" title="Set delimiter character." alt="" coords="237,31,409,56"/>
 <area shape="rect" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a" title="CMD handler constructor." alt="" coords="9,5,185,31"/>
 <area shape="rect" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47" title="CMD handler deconstructor." alt="" coords="5,55,189,80"/>
@@ -432,7 +423,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa6
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="class_c_m_d_handler.html">CMDHandler</a></li>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:15:33 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/class_c_m_d_handler.js b/.docs/html/class_c_m_d_handler.js
index da26987..34278b9 100644
--- a/.docs/html/class_c_m_d_handler.js
+++ b/.docs/html/class_c_m_d_handler.js
@@ -3,6 +3,6 @@ var class_c_m_d_handler =
     [ "CMDHandler", "class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a", null ],
     [ "~CMDHandler", "class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47", null ],
     [ "exe", "class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59", null ],
-    [ "getDelimiter", "class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b", null ],
-    [ "setDelimiter", "class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432", null ]
+    [ "getDelimiter", "class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102", null ],
+    [ "setDelimiter", "class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781", null ]
 ];
\ No newline at end of file
diff --git a/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.map b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.map
new file mode 100644
index 0000000..1c0c40b
--- /dev/null
+++ b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.map
@@ -0,0 +1,5 @@
+<map id="CMDHandler::setDelimiter" name="CMDHandler::setDelimiter">
+<area shape="rect" id="node1" title="Set delimiter character." alt="" coords="237,31,409,56"/>
+<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a" title="CMD handler constructor." alt="" coords="9,5,185,31"/>
+<area shape="rect" id="node3" href="$class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47" title="CMD handler deconstructor." alt="" coords="5,55,189,80"/>
+</map>
diff --git a/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.md5 b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.md5
new file mode 100644
index 0000000..a19fbe9
--- /dev/null
+++ b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.md5
@@ -0,0 +1 @@
+6562f5e8abd5da85fe8c227480fdf567
\ No newline at end of file
diff --git a/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png
new file mode 100644
index 0000000..a3abd55
Binary files /dev/null and b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png differ
diff --git a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map
index 0fd9bcf..a7a7ddd 100644
--- a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map
+++ b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map
@@ -1,4 +1,4 @@
 <map id="CMDHandler::CMDHandler" name="CMDHandler::CMDHandler">
 <area shape="rect" id="node1" title="CMD handler constructor." alt="" coords="5,5,181,31"/>
-<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="229,5,401,31"/>
+<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="229,5,401,31"/>
 </map>
diff --git a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5 b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5
index 1d46a27..4fbdffd 100644
--- a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5
+++ b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5
@@ -1 +1 @@
-6eacd90b4179b600a164bd7e3eb3e76e
\ No newline at end of file
+afa7ea01a28013c4b64e742929bad2a2
\ No newline at end of file
diff --git a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map
index 7c42c2b..69c8888 100644
--- a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map
+++ b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map
@@ -1,4 +1,4 @@
 <map id="CMDHandler::~CMDHandler" name="CMDHandler::~CMDHandler">
 <area shape="rect" id="node1" title="CMD handler deconstructor." alt="" coords="5,5,189,31"/>
-<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="237,5,409,31"/>
+<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="237,5,409,31"/>
 </map>
diff --git a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5 b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5
index 6aa73f4..99b3bf0 100644
--- a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5
+++ b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5
@@ -1 +1 @@
-1fa36b547b44e75b2301310b6060d3d9
\ No newline at end of file
+3077159dfadd9a82ac8a459a89a0889b
\ No newline at end of file
diff --git a/.docs/html/classes.html b/.docs/html/classes.html
index b162d85..45617a8 100644
--- a/.docs/html/classes.html
+++ b/.docs/html/classes.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -94,18 +94,18 @@
   <div class="headertitle"><div class="title">Class Index</div></div>
 </div><!--header-->
 <div class="contents">
-<div class="qindex"><a class="qindex" href="#letter_C">C</a></div>
+<div class="qindex"><a class="qindex" href="#letter_S">S</a></div>
 <div class="classindex">
 <dl class="classindex even">
-<dt class="alphachar"><a id="letter_C" name="letter_C">C</a></dt>
-<dd><a class="el" href="class_c_m_d_handler.html">CMDHandler</a></dd><dd><a class="el" href="struct_c_m_d_list.html">CMDList</a></dd></dl>
+<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
+<dd><a class="el" href="classs_c_m_d.html">sCMD</a></dd><dd><a class="el" href="structs_c_m_d_list.html">sCMDList</a></dd></dl>
 </div>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/classs_c_m_d-members.html b/.docs/html/classs_c_m_d-members.html
new file mode 100644
index 0000000..edbce89
--- /dev/null
+++ b/.docs/html/classs_c_m_d-members.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>sCMD: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
+   </div>
+   <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.5 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(document).ready(function(){initNavTree('classs_c_m_d.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div class="header">
+  <div class="headertitle"><div class="title">sCMD&lt; max &gt; Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">exe</a>(char *input, uint8_t nullAsArg=0)</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">getDelimiter</a>(sCMD_del_t type) const</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD</a>(const sCMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t type, char del)</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">~sCMD</a>(void)</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/.docs/html/classs_c_m_d.html b/.docs/html/classs_c_m_d.html
new file mode 100644
index 0000000..fc7b82f
--- /dev/null
+++ b/.docs/html/classs_c_m_d.html
@@ -0,0 +1,430 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>sCMD: sCMD&lt; max &gt; Class Template Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
+   </div>
+   <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.5 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(document).ready(function(){initNavTree('classs_c_m_d.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="classs_c_m_d-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">sCMD&lt; max &gt; Class Template Reference<div class="ingroups"><a class="el" href="group__s_c_m_d.html">SCMD</a></div></div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Class for command handler.  
+ <a href="classs_c_m_d.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr class="memitem:ab8c56a4e32cafb932af755d169f170b5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD</a> (const <a class="el" href="structs_c_m_d_list.html">sCMDList</a> *list, uint16_t len, <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</td></tr>
+<tr class="memdesc:ab8c56a4e32cafb932af755d169f170b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMD handler constructor.  <a href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">More...</a><br /></td></tr>
+<tr class="separator:ab8c56a4e32cafb932af755d169f170b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acdd867db6da2169039d0adad7ce6ac1e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">~sCMD</a> (void)</td></tr>
+<tr class="memdesc:acdd867db6da2169039d0adad7ce6ac1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">CMD handler deconstructor.  <a href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">More...</a><br /></td></tr>
+<tr class="separator:acdd867db6da2169039d0adad7ce6ac1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6073a3d8ecf99fb983d72e5532ea1f95"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">exe</a> (char *input, uint8_t nullAsArg=0)</td></tr>
+<tr class="memdesc:a6073a3d8ecf99fb983d72e5532ea1f95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse and execute input C-string.  <a href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">More...</a><br /></td></tr>
+<tr class="separator:a6073a3d8ecf99fb983d72e5532ea1f95"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab4af423609c21bb0fbae6f6e3f0814b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type, char del)</td></tr>
+<tr class="memdesc:ab4af423609c21bb0fbae6f6e3f0814b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set delimiter character.  <a href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">More...</a><br /></td></tr>
+<tr class="separator:ab4af423609c21bb0fbae6f6e3f0814b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a91dc61752b4712622c3c49e393338c86"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">getDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type) const</td></tr>
+<tr class="memdesc:a91dc61752b4712622c3c49e393338c86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get delimiter character.  <a href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">More...</a><br /></td></tr>
+<tr class="separator:a91dc61752b4712622c3c49e393338c86"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><div class="compoundTemplParams">template&lt;uint8_t max&gt;<br />
+class sCMD&lt; max &gt;</div><p >Class for command handler. </p>
+<dl class="tparams"><dt>Template Parameters</dt><dd>
+  <table class="tparams">
+    <tr><td class="paramname">max</td><td>Maximum number of arguments command handler can handle for one command. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00124">124</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
+<a id="ab8c56a4e32cafb932af755d169f170b5" name="ab8c56a4e32cafb932af755d169f170b5"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab8c56a4e32cafb932af755d169f170b5">&#9670;&#160;</a></span>sCMD()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;uint8_t max&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classs_c_m_d.html">sCMD</a>&lt; max &gt;<a class="el" href="classs_c_m_d.html">::sCMD</a> </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="structs_c_m_d_list.html">sCMDList</a> *&#160;</td>
+          <td class="paramname"><em>list</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint16_t&#160;</td>
+          <td class="paramname"><em>len</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>&#160;</td>
+          <td class="paramname"><em>fallback</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&#160;</td>
+          <td class="paramname"><em>ccDelimiter</em> = <code>';'</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&#160;</td>
+          <td class="paramname"><em>caDelimiter</em> = <code>','</code>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&#160;</td>
+          <td class="paramname"><em>aaDelimiter</em> = <code>','</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>CMD handler constructor. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">list</td><td>Pointer to list of commands. </td></tr>
+    <tr><td class="paramname">len</td><td>Length of <code>list</code> </td></tr>
+    <tr><td class="paramname">fallback</td><td>Pointer to external function that is called when unknown command is found. </td></tr>
+    <tr><td class="paramname">ccDelimiter</td><td>Delimiter character between commands. Default delimiter is <code></code>; </td></tr>
+    <tr><td class="paramname">caDelimiter</td><td>Delimiter character between command and arguments. Default delimiter is <code></code>, </td></tr>
+    <tr><td class="paramname">aaDelimiter</td><td>Delimiter character between arguments. Default delimiter is <code></code>, </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00139">139</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png" border="0" usemap="#aclasss_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph" alt=""/></div>
+<map name="aclasss_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph" id="aclasss_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph">
+<area shape="rect" title="CMD handler constructor." alt="" coords="5,5,108,31"/>
+<area shape="rect" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="156,5,291,31"/>
+</map>
+</div>
+
+</div>
+</div>
+<a id="acdd867db6da2169039d0adad7ce6ac1e" name="acdd867db6da2169039d0adad7ce6ac1e"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acdd867db6da2169039d0adad7ce6ac1e">&#9670;&#160;</a></span>~sCMD()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;uint8_t max&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classs_c_m_d.html">sCMD</a>&lt; max &gt;::~<a class="el" href="classs_c_m_d.html">sCMD</a> </td>
+          <td>(</td>
+          <td class="paramtype">void&#160;</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>CMD handler deconstructor. </p>
+<dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00159">159</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<div class="dynheader">
+Here is the call graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png" border="0" usemap="#aclasss_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph" alt=""/></div>
+<map name="aclasss_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph" id="aclasss_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph">
+<area shape="rect" title="CMD handler deconstructor." alt="" coords="5,5,116,31"/>
+<area shape="rect" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="164,5,299,31"/>
+</map>
+</div>
+
+</div>
+</div>
+<h2 class="groupheader">Member Function Documentation</h2>
+<a id="a6073a3d8ecf99fb983d72e5532ea1f95" name="a6073a3d8ecf99fb983d72e5532ea1f95"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a6073a3d8ecf99fb983d72e5532ea1f95">&#9670;&#160;</a></span>exe()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;uint8_t max&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">uint8_t <a class="el" href="classs_c_m_d.html">sCMD</a>&lt; max &gt;::exe </td>
+          <td>(</td>
+          <td class="paramtype">char *&#160;</td>
+          <td class="paramname"><em>input</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint8_t&#160;</td>
+          <td class="paramname"><em>nullAsArg</em> = <code>0</code>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Parse and execute input C-string. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">input</td><td>Pointer to C-string. </td></tr>
+    <tr><td class="paramname">nullAsArg</td><td>Set to <code>1</code> to include <code>\0</code> as argument. By default, this parameter is set to <code>0</code> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Number of executed commands.</dd></dl>
+<dl class="section warning"><dt>Warning</dt><dd>This function modifies <code>input</code> C-string! </dd></dl>
+<dl class="section note"><dt>Note</dt><dd>This function parses input C-string from left to right. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00186">186</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+
+</div>
+</div>
+<a id="a91dc61752b4712622c3c49e393338c86" name="a91dc61752b4712622c3c49e393338c86"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a91dc61752b4712622c3c49e393338c86">&#9670;&#160;</a></span>getDelimiter()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;uint8_t max&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">char <a class="el" href="classs_c_m_d.html">sCMD</a>&lt; max &gt;::getDelimiter </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a>&#160;</td>
+          <td class="paramname"><em>type</em></td><td>)</td>
+          <td> const</td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Get delimiter character. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>Configured delimiter. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00285">285</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+
+</div>
+</div>
+<a id="ab4af423609c21bb0fbae6f6e3f0814b8" name="ab4af423609c21bb0fbae6f6e3f0814b8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ab4af423609c21bb0fbae6f6e3f0814b8">&#9670;&#160;</a></span>setDelimiter()</h2>
+
+<div class="memitem">
+<div class="memproto">
+<div class="memtemplate">
+template&lt;uint8_t max&gt; </div>
+<table class="mlabels">
+  <tr>
+  <td class="mlabels-left">
+      <table class="memname">
+        <tr>
+          <td class="memname">void <a class="el" href="classs_c_m_d.html">sCMD</a>&lt; max &gt;::setDelimiter </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a>&#160;</td>
+          <td class="paramname"><em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char&#160;</td>
+          <td class="paramname"><em>del</em>&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+  </td>
+  <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
+  </tr>
+</table>
+</div><div class="memdoc">
+
+<p>Set delimiter character. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr>
+    <tr><td class="paramname">del</td><td>New delimiter. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00273">273</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<div class="dynheader">
+Here is the caller graph for this function:</div>
+<div class="dyncontent">
+<div class="center"><img src="classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png" border="0" usemap="#aclasss_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph" alt=""/></div>
+<map name="aclasss_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph" id="aclasss_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph">
+<area shape="rect" title="Set delimiter character." alt="" coords="164,31,299,56"/>
+<area shape="rect" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5" title="CMD handler constructor." alt="" coords="9,5,112,31"/>
+<area shape="rect" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e" title="CMD handler deconstructor." alt="" coords="5,55,116,80"/>
+</map>
+</div>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="classs_c_m_d.html">sCMD</a></li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/.docs/html/classs_c_m_d.js b/.docs/html/classs_c_m_d.js
new file mode 100644
index 0000000..4a9eee8
--- /dev/null
+++ b/.docs/html/classs_c_m_d.js
@@ -0,0 +1,8 @@
+var classs_c_m_d =
+[
+    [ "sCMD", "classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5", null ],
+    [ "~sCMD", "classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e", null ],
+    [ "exe", "classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95", null ],
+    [ "getDelimiter", "classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86", null ],
+    [ "setDelimiter", "classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8", null ]
+];
\ No newline at end of file
diff --git a/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.map b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.map
new file mode 100644
index 0000000..8aafb50
--- /dev/null
+++ b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.map
@@ -0,0 +1,4 @@
+<map id="sCMD::sCMD" name="sCMD::sCMD">
+<area shape="rect" id="node1" title="CMD handler constructor." alt="" coords="5,5,108,31"/>
+<area shape="rect" id="node2" href="$classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="156,5,291,31"/>
+</map>
diff --git a/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.md5 b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.md5
new file mode 100644
index 0000000..78dff4b
--- /dev/null
+++ b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.md5
@@ -0,0 +1 @@
+a08636199d507986a1b4b122c09679a5
\ No newline at end of file
diff --git a/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.png b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.png
new file mode 100644
index 0000000..f2f9fe3
Binary files /dev/null and b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.png differ
diff --git a/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.map b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.map
new file mode 100644
index 0000000..f42b4c6
--- /dev/null
+++ b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.map
@@ -0,0 +1,5 @@
+<map id="sCMD::setDelimiter" name="sCMD::setDelimiter">
+<area shape="rect" id="node1" title="Set delimiter character." alt="" coords="164,31,299,56"/>
+<area shape="rect" id="node2" href="$classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5" title="CMD handler constructor." alt="" coords="9,5,112,31"/>
+<area shape="rect" id="node3" href="$classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e" title="CMD handler deconstructor." alt="" coords="5,55,116,80"/>
+</map>
diff --git a/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.md5 b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.md5
new file mode 100644
index 0000000..feacb67
--- /dev/null
+++ b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.md5
@@ -0,0 +1 @@
+da60ac4f37d4ee1984433b001c2b492f
\ No newline at end of file
diff --git a/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png
new file mode 100644
index 0000000..9ceb09e
Binary files /dev/null and b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png differ
diff --git a/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.map b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.map
new file mode 100644
index 0000000..8aafb50
--- /dev/null
+++ b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.map
@@ -0,0 +1,4 @@
+<map id="sCMD::sCMD" name="sCMD::sCMD">
+<area shape="rect" id="node1" title="CMD handler constructor." alt="" coords="5,5,108,31"/>
+<area shape="rect" id="node2" href="$classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="156,5,291,31"/>
+</map>
diff --git a/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.md5 b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.md5
new file mode 100644
index 0000000..78dff4b
--- /dev/null
+++ b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.md5
@@ -0,0 +1 @@
+a08636199d507986a1b4b122c09679a5
\ No newline at end of file
diff --git a/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png
new file mode 100644
index 0000000..f2f9fe3
Binary files /dev/null and b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png differ
diff --git a/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.map b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.map
new file mode 100644
index 0000000..c07a9be
--- /dev/null
+++ b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.map
@@ -0,0 +1,4 @@
+<map id="sCMD::~sCMD" name="sCMD::~sCMD">
+<area shape="rect" id="node1" title="CMD handler deconstructor." alt="" coords="5,5,116,31"/>
+<area shape="rect" id="node2" href="$classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="164,5,299,31"/>
+</map>
diff --git a/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.md5 b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.md5
new file mode 100644
index 0000000..678a117
--- /dev/null
+++ b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.md5
@@ -0,0 +1 @@
+76fa662251a462acea94e8f80a436ec2
\ No newline at end of file
diff --git a/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png
new file mode 100644
index 0000000..08d3732
Binary files /dev/null and b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png differ
diff --git a/.docs/html/files.html b/.docs/html/files.html
index 69a58bf..117c6b4 100644
--- a/.docs/html/files.html
+++ b/.docs/html/files.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -96,8 +96,7 @@
 <div class="contents">
 <div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
 <table class="directory">
-<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="s_c_m_d_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="s_c_m_d_8cpp.html" target="_self">sCMD.cpp</a></td><td class="desc">Simple Command Handler source file </td></tr>
-<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="s_c_m_d_8h_source.html"><span class="icondoc"></span></a><a class="el" href="s_c_m_d_8h.html" target="_self">sCMD.h</a></td><td class="desc">Simple Command Handler header file </td></tr>
+<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="s_c_m_d_8h_source.html"><span class="icondoc"></span></a><a class="el" href="s_c_m_d_8h.html" target="_self">sCMD.h</a></td><td class="desc">Simple Command Handler header file </td></tr>
 </table>
 </div><!-- directory -->
 </div><!-- contents -->
@@ -105,7 +104,7 @@
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/files_dup.js b/.docs/html/files_dup.js
index 73bdca4..6a4d9bd 100644
--- a/.docs/html/files_dup.js
+++ b/.docs/html/files_dup.js
@@ -1,5 +1,4 @@
 var files_dup =
 [
-    [ "sCMD.cpp", "s_c_m_d_8cpp.html", "s_c_m_d_8cpp" ],
     [ "sCMD.h", "s_c_m_d_8h.html", "s_c_m_d_8h" ]
 ];
\ No newline at end of file
diff --git a/.docs/html/functions.html b/.docs/html/functions.html
index 861faca..5038a4c 100644
--- a/.docs/html/functions.html
+++ b/.docs/html/functions.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -92,20 +92,21 @@
 
 <div class="contents">
 <div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
-<li>cmd&#160;:&#160;<a class="el" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">CMDList</a></li>
-<li>CMDHandler()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler&lt; max &gt;</a></li>
-<li>cmdHandler&#160;:&#160;<a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">CMDList</a></li>
-<li>exe()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">CMDHandler&lt; max &gt;</a></li>
-<li>getDelimiter()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">CMDHandler&lt; max &gt;</a></li>
-<li>setDelimiter()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">CMDHandler&lt; max &gt;</a></li>
-<li>~CMDHandler()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">CMDHandler&lt; max &gt;</a></li>
+<li>cmd&#160;:&#160;<a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">sCMDList</a></li>
+<li>cmdDescription&#160;:&#160;<a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">sCMDList</a></li>
+<li>cmdHandler&#160;:&#160;<a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">sCMDList</a></li>
+<li>exe()&#160;:&#160;<a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">sCMD&lt; max &gt;</a></li>
+<li>getDelimiter()&#160;:&#160;<a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">sCMD&lt; max &gt;</a></li>
+<li>sCMD()&#160;:&#160;<a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD&lt; max &gt;</a></li>
+<li>setDelimiter()&#160;:&#160;<a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">sCMD&lt; max &gt;</a></li>
+<li>~sCMD()&#160;:&#160;<a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">sCMD&lt; max &gt;</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/functions_func.html b/.docs/html/functions_func.html
index 1eefcf0..27c7394 100644
--- a/.docs/html/functions_func.html
+++ b/.docs/html/functions_func.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -92,18 +92,18 @@
 
 <div class="contents">
 &#160;<ul>
-<li>CMDHandler()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler&lt; max &gt;</a></li>
-<li>exe()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">CMDHandler&lt; max &gt;</a></li>
-<li>getDelimiter()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">CMDHandler&lt; max &gt;</a></li>
-<li>setDelimiter()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">CMDHandler&lt; max &gt;</a></li>
-<li>~CMDHandler()&#160;:&#160;<a class="el" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">CMDHandler&lt; max &gt;</a></li>
+<li>exe()&#160;:&#160;<a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">sCMD&lt; max &gt;</a></li>
+<li>getDelimiter()&#160;:&#160;<a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">sCMD&lt; max &gt;</a></li>
+<li>sCMD()&#160;:&#160;<a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD&lt; max &gt;</a></li>
+<li>setDelimiter()&#160;:&#160;<a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">sCMD&lt; max &gt;</a></li>
+<li>~sCMD()&#160;:&#160;<a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">sCMD&lt; max &gt;</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/functions_vars.html b/.docs/html/functions_vars.html
index b053f5d..e254e05 100644
--- a/.docs/html/functions_vars.html
+++ b/.docs/html/functions_vars.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -92,15 +92,16 @@
 
 <div class="contents">
 &#160;<ul>
-<li>cmd&#160;:&#160;<a class="el" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">CMDList</a></li>
-<li>cmdHandler&#160;:&#160;<a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">CMDList</a></li>
+<li>cmd&#160;:&#160;<a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">sCMDList</a></li>
+<li>cmdDescription&#160;:&#160;<a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">sCMDList</a></li>
+<li>cmdHandler&#160;:&#160;<a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">sCMDList</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/globals.html b/.docs/html/globals.html
index 5678610..d59791c 100644
--- a/.docs/html/globals.html
+++ b/.docs/html/globals.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -93,17 +93,21 @@
 <div class="contents">
 <div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
 <li>cmdH&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">sCMD.h</a></li>
-<li>findCmd()&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">sCMD.cpp</a>, <a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">sCMD.h</a></li>
-<li>sCMD_AA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD.h</a></li>
-<li>sCMD_CA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD.h</a></li>
-<li>sCMD_CC&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD.h</a></li>
+<li>sCMD_AA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD.h</a></li>
+<li>SCMD_ADD&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">sCMD.h</a></li>
+<li>sCMD_CA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD.h</a></li>
+<li>sCMD_CC&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD.h</a></li>
+<li>sCMD_del_t&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD.h</a></li>
+<li>SCMD_GET&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">sCMD.h</a></li>
+<li>SCMD_HANDLER&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">sCMD.h</a></li>
+<li>sCMDIdx&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMD.h</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/globals_defs.html b/.docs/html/globals_defs.html
index acd4e5e..66f901f 100644
--- a/.docs/html/globals_defs.html
+++ b/.docs/html/globals_defs.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -92,16 +92,16 @@
 
 <div class="contents">
 &#160;<ul>
-<li>sCMD_AA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD.h</a></li>
-<li>sCMD_CA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD.h</a></li>
-<li>sCMD_CC&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD.h</a></li>
+<li>SCMD_ADD&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">sCMD.h</a></li>
+<li>SCMD_GET&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">sCMD.h</a></li>
+<li>SCMD_HANDLER&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">sCMD.h</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/globals_enum.html b/.docs/html/globals_enum.html
index d1583f7..634cba6 100644
--- a/.docs/html/globals_enum.html
+++ b/.docs/html/globals_enum.html
@@ -26,9 +26,9 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v0.1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
-   <div id="projectbrief">Simple Command handler written in C++.</div>
+   <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
  </tr>
  </tbody>
@@ -92,14 +92,14 @@
 
 <div class="contents">
 &#160;<ul>
-<li>sCMD_delimiter_t&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gaa0fcdbeaec020e98af1c24f2f9fa199d">sCMD.h</a></li>
+<li>sCMD_del_t&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD.h</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Nov 14 2022 20:17:20 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/globals_eval.html b/.docs/html/globals_eval.html
index c917235..92302b9 100644
--- a/.docs/html/globals_eval.html
+++ b/.docs/html/globals_eval.html
@@ -26,9 +26,9 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v0.1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
-   <div id="projectbrief">Simple Command handler written in C++.</div>
+   <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
  </tr>
  </tbody>
@@ -92,16 +92,16 @@
 
 <div class="contents">
 &#160;<ul>
-<li>sCMD_CC&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dadbdda4209e48d49b43f4d0b2d22c820a">sCMD.h</a></li>
-<li>sCMD_CP&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dabdac55d99a08174f11384d30c3a5384f">sCMD.h</a></li>
-<li>sCMD_PP&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199daa464219d1a3cbcdb1f4ba85d8e9477bf">sCMD.h</a></li>
+<li>sCMD_AA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD.h</a></li>
+<li>sCMD_CA&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD.h</a></li>
+<li>sCMD_CC&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD.h</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Mon Nov 14 2022 20:17:20 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/globals_type.html b/.docs/html/globals_type.html
index e365c5a..8733478 100644
--- a/.docs/html/globals_type.html
+++ b/.docs/html/globals_type.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -93,13 +93,14 @@
 <div class="contents">
 &#160;<ul>
 <li>cmdH&#160;:&#160;<a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">sCMD.h</a></li>
+<li>sCMDIdx&#160;:&#160;<a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMD.h</a></li>
 </ul>
 </div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/graph_legend.html b/.docs/html/graph_legend.html
index 24c77b1..4060e6f 100644
--- a/.docs/html/graph_legend.html
+++ b/.docs/html/graph_legend.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -159,7 +159,7 @@
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/group__s_c_m_d.html b/.docs/html/group__s_c_m_d.html
index 2bc8401..6139485 100644
--- a/.docs/html/group__s_c_m_d.html
+++ b/.docs/html/group__s_c_m_d.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -95,100 +95,148 @@
 <a href="#nested-classes">Classes</a> &#124;
 <a href="#define-members">Macros</a> &#124;
 <a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
+<a href="#enum-members">Enumerations</a>  </div>
   <div class="headertitle"><div class="title">SCMD</div></div>
 </div><!--header-->
 <div class="contents">
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct for command.  <a href="struct_c_m_d_list.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct for command list.  <a href="structs_c_m_d_list.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for command hanlder.  <a href="class_c_m_d_handler.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for command handler.  <a href="classs_c_m_d.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>&#160;&#160;&#160;0</td></tr>
-<tr class="memdesc:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delimiter between commands.  <a href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">More...</a><br /></td></tr>
-<tr class="separator:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga00d3cd602b53555150c73418befaa613"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>&#160;&#160;&#160;1</td></tr>
-<tr class="memdesc:ga00d3cd602b53555150c73418befaa613"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delimiter between command and arguments.  <a href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">More...</a><br /></td></tr>
-<tr class="separator:ga00d3cd602b53555150c73418befaa613"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabf41a56387b606234547248a5cf74164"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>&#160;&#160;&#160;2</td></tr>
-<tr class="memdesc:gabf41a56387b606234547248a5cf74164"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delimiter between arguments.  <a href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">More...</a><br /></td></tr>
-<tr class="separator:gabf41a56387b606234547248a5cf74164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)&#160;&#160;&#160;	<a class="el" href="classs_c_m_d.html">sCMD</a>##_cmd</td></tr>
+<tr class="memdesc:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get command handler function for <code>_cmd</code>.  <a href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">More...</a><br /></td></tr>
+<tr class="separator:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">SCMD_ADD</a>(_cmd,  _description)&#160;&#160;&#160;	{ #_cmd, <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd), _description }</td></tr>
+<tr class="memdesc:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Code snippet for adding command into command list.  <a href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">More...</a><br /></td></tr>
+<tr class="separator:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaae7661e6307c398240ab2c8520bd6c51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">SCMD_HANDLER</a>(_cmd)&#160;&#160;&#160;	static void <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)(const char** args, const uint8_t argCnt)</td></tr>
+<tr class="memdesc:gaae7661e6307c398240ab2c8520bd6c51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Code snippet for creating command handler declaration and definition.  <a href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">More...</a><br /></td></tr>
+<tr class="separator:gaae7661e6307c398240ab2c8520bd6c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
 <tr class="memitem:gab7d31f894b743026908bea0c58929204"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>) (const char **args, const uint8_t argCnt)</td></tr>
 <tr class="memdesc:gab7d31f894b743026908bea0c58929204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for command handler.  <a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">More...</a><br /></td></tr>
 <tr class="separator:gab7d31f894b743026908bea0c58929204"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memItemLeft" align="right" valign="top">typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></td></tr>
+<tr class="memdesc:ga7cdf4eb22a208b705937117dab6cdf51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for command index.  <a href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">More...</a><br /></td></tr>
+<tr class="separator:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a> (const char *input, const <a class="el" href="struct_c_m_d_list.html">CMDList</a> *cmdList, const uint16_t len)</td></tr>
-<tr class="memdesc:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find <code>input</code> command in <code>cmdList</code>.  <a href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">More...</a><br /></td></tr>
-<tr class="separator:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t { <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a> = 0
+, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a>
+, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a>
+ }</td></tr>
+<tr class="memdesc:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enum for delimiter types.  <a href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">More...</a><br /></td></tr>
+<tr class="separator:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <p >Simple Command Handler.</p>
 <p >Command format is: <code>cmd1:param1</code>,...,paramN;...;cmdN:param1,...,paramN where <code></code>; is coomand to command delimiter, <code></code>: command to argument delimiter and <code></code>, argument to argument delimiter. Command can be without arguments.</p>
-<p >Create command list with <a class="el" href="struct_c_m_d_list.html">CMDList</a> struct and command handler object using CMD&lt;max&gt; class template. <code>max</code> is maximum number of arguments that command handler can accept. Command handler supports multiple command delimiters(coomand to command, command to arguments and argument to argument). Search for command is case sensitive(cmd != Cmd). See examples for beter understanding. </p>
+<p >Create command list with CMDList struct and command handler object using CMD&lt;max&gt; class template. <code>max</code> is maximum number of arguments that command handler can accept. Command handler supports multiple command delimiters(coomand to command, command to arguments and argument to argument). Search for command is case sensitive(cmd != Cmd). See examples for beter understanding. </p>
 <h2 class="groupheader">Macro Definition Documentation</h2>
-<a id="gabf41a56387b606234547248a5cf74164" name="gabf41a56387b606234547248a5cf74164"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gabf41a56387b606234547248a5cf74164">&#9670;&#160;</a></span>sCMD_AA</h2>
+<a id="ga9ba5942496337bb287bf7b98ec7c39ff" name="ga9ba5942496337bb287bf7b98ec7c39ff"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga9ba5942496337bb287bf7b98ec7c39ff">&#9670;&#160;</a></span>SCMD_ADD</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define sCMD_AA&#160;&#160;&#160;2</td>
+          <td class="memname">#define SCMD_ADD</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">_cmd, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">_description&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td>&#160;&#160;&#160;	{ #_cmd, <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd), _description }</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Delimiter between arguments. </p>
+<p>Code snippet for adding command into command list. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">_cmd</td><td>Command name. </td></tr>
+    <tr><td class="paramname">_description</td><td>Command description. </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00051">51</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00062">62</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
-<a id="ga00d3cd602b53555150c73418befaa613" name="ga00d3cd602b53555150c73418befaa613"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga00d3cd602b53555150c73418befaa613">&#9670;&#160;</a></span>sCMD_CA</h2>
+<a id="ga1411ceab8e4cd2f3c874bc395bd4732a" name="ga1411ceab8e4cd2f3c874bc395bd4732a"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga1411ceab8e4cd2f3c874bc395bd4732a">&#9670;&#160;</a></span>SCMD_GET</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define sCMD_CA&#160;&#160;&#160;1</td>
+          <td class="memname">#define SCMD_GET</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">_cmd</td><td>)</td>
+          <td>&#160;&#160;&#160;	<a class="el" href="classs_c_m_d.html">sCMD</a>##_cmd</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Delimiter between command and arguments. </p>
+<p>Get command handler function for <code>_cmd</code>. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">_cmd</td><td>Command name. </td></tr>
+  </table>
+  </dd>
+</dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00050">50</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00053">53</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
-<a id="ga95b2953eaf3446e41eaa41b8f03e9ca3" name="ga95b2953eaf3446e41eaa41b8f03e9ca3"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ga95b2953eaf3446e41eaa41b8f03e9ca3">&#9670;&#160;</a></span>sCMD_CC</h2>
+<a id="gaae7661e6307c398240ab2c8520bd6c51" name="gaae7661e6307c398240ab2c8520bd6c51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gaae7661e6307c398240ab2c8520bd6c51">&#9670;&#160;</a></span>SCMD_HANDLER</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">#define sCMD_CC&#160;&#160;&#160;0</td>
+          <td class="memname">#define SCMD_HANDLER</td>
+          <td>(</td>
+          <td class="paramtype">&#160;</td>
+          <td class="paramname">_cmd</td><td>)</td>
+          <td>&#160;&#160;&#160;	static void <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)(const char** args, const uint8_t argCnt)</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Delimiter between commands. </p>
+<p>Code snippet for creating command handler declaration and definition. </p>
+<dl class="params"><dt>Parameters</dt><dd>
+  <table class="params">
+    <tr><td class="paramname">_cmd</td><td>Command name.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="section note"><dt>Note</dt><dd>Command handler is static. </dd></dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00049">49</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00072">72</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
@@ -215,77 +263,52 @@ <h2 class="memtitle"><span class="permalink"><a href="#gab7d31f894b743026908bea0
 </dl>
 <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00062">62</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00084">84</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="gaf825bf80ddd1a52d68d737ea93e0f621" name="gaf825bf80ddd1a52d68d737ea93e0f621"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#gaf825bf80ddd1a52d68d737ea93e0f621">&#9670;&#160;</a></span>findCmd()</h2>
+<a id="ga7cdf4eb22a208b705937117dab6cdf51" name="ga7cdf4eb22a208b705937117dab6cdf51"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ga7cdf4eb22a208b705937117dab6cdf51">&#9670;&#160;</a></span>sCMDIdx</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">int16_t findCmd </td>
-          <td>(</td>
-          <td class="paramtype">const char *&#160;</td>
-          <td class="paramname"><em>input</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const <a class="el" href="struct_c_m_d_list.html">CMDList</a> *&#160;</td>
-          <td class="paramname"><em>cmdList</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const uint16_t&#160;</td>
-          <td class="paramname"><em>len</em>&#160;</td>
+          <td class="memname">typedef int16_t <a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></td>
         </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Typedef for command index. </p>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00090">90</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Enumeration Type Documentation</h2>
+<a id="gab7b50b228ddfc95179ddc0b5f3541c78" name="gab7b50b228ddfc95179ddc0b5f3541c78"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#gab7b50b228ddfc95179ddc0b5f3541c78">&#9670;&#160;</a></span>sCMD_del_t</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
         <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
+          <td class="memname">enum <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t</td>
         </tr>
       </table>
 </div><div class="memdoc">
 
-<p>Find <code>input</code> command in <code>cmdList</code>. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">input</td><td>Pointer to command C-string. </td></tr>
-    <tr><td class="paramname">cmdList</td><td>Pointer to external command list. </td></tr>
-    <tr><td class="paramname">len</td><td>Length of <code>cmdList</code> </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>-1</code> if command is not found. </dd>
-<dd>
-Index of command in <code>cmdList</code> if command is found.</dd></dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">input</td><td>Pointer to command C-string. </td></tr>
-    <tr><td class="paramname">cmdList</td><td>Pointer to external command list. </td></tr>
-    <tr><td class="paramname">len</td><td>Length of <code>cmdList</code> </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="section return"><dt>Returns</dt><dd><code>-1</code> if command is not found. </dd>
-<dd>
-Index of command in <code>cmdList</code> if command is found. </dd></dl>
+<p>Enum for delimiter types. </p>
+<table class="fieldtable">
+<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a" name="ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a"></a>sCMD_CC&#160;</td><td class="fielddoc"><p >Delimiter between commands. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983" name="ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983"></a>sCMD_CA&#160;</td><td class="fielddoc"><p >Delimiter between command and argument. </p>
+</td></tr>
+<tr><td class="fieldname"><a id="ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7" name="ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7"></a>sCMD_AA&#160;</td><td class="fielddoc"><p >Delimiter between arguments inside command. </p>
+</td></tr>
+</table>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8cpp_source.html#l00047">47</a> of file <a class="el" href="s_c_m_d_8cpp_source.html">sCMD.cpp</a>.</p>
-<div class="dynheader">
-Here is the caller graph for this function:</div>
-<div class="dyncontent">
-<div class="center"><img src="group__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph.png" border="0" usemap="#agroup__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph" alt=""/></div>
-<map name="agroup__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph" id="agroup__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph">
-<area shape="rect" title="Find input command in cmdList." alt="" coords="177,5,248,31"/>
-<area shape="rect" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59" title="Parse and execute input C&#45;string." alt="" coords="5,5,129,31"/>
-</map>
-</div>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00098">98</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
@@ -294,7 +317,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#gaf825bf80ddd1a52d68d737e
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/group__s_c_m_d.js b/.docs/html/group__s_c_m_d.js
index 2ab8f3d..5419a08 100644
--- a/.docs/html/group__s_c_m_d.js
+++ b/.docs/html/group__s_c_m_d.js
@@ -1,19 +1,25 @@
 var group__s_c_m_d =
 [
-    [ "CMDList", "struct_c_m_d_list.html", [
-      [ "cmd", "struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78", null ],
-      [ "cmdHandler", "struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c", null ]
+    [ "sCMDList", "structs_c_m_d_list.html", [
+      [ "cmd", "structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d", null ],
+      [ "cmdDescription", "structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58", null ],
+      [ "cmdHandler", "structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607", null ]
     ] ],
-    [ "CMDHandler< max >", "class_c_m_d_handler.html", [
-      [ "CMDHandler", "class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a", null ],
-      [ "~CMDHandler", "class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47", null ],
-      [ "exe", "class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59", null ],
-      [ "getDelimiter", "class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b", null ],
-      [ "setDelimiter", "class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432", null ]
+    [ "sCMD< max >", "classs_c_m_d.html", [
+      [ "sCMD", "classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5", null ],
+      [ "~sCMD", "classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e", null ],
+      [ "exe", "classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95", null ],
+      [ "getDelimiter", "classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86", null ],
+      [ "setDelimiter", "classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8", null ]
     ] ],
-    [ "sCMD_AA", "group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164", null ],
-    [ "sCMD_CA", "group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613", null ],
-    [ "sCMD_CC", "group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3", null ],
+    [ "SCMD_ADD", "group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff", null ],
+    [ "SCMD_GET", "group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a", null ],
+    [ "SCMD_HANDLER", "group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51", null ],
     [ "cmdH", "group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204", null ],
-    [ "findCmd", "group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621", null ]
+    [ "sCMDIdx", "group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51", null ],
+    [ "sCMD_del_t", "group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78", [
+      [ "sCMD_CC", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a", null ],
+      [ "sCMD_CA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983", null ],
+      [ "sCMD_AA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7", null ]
+    ] ]
 ];
\ No newline at end of file
diff --git a/.docs/html/index.html b/.docs/html/index.html
index 581b44b..401651c 100644
--- a/.docs/html/index.html
+++ b/.docs/html/index.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -99,7 +99,7 @@
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/md__r_e_a_d_m_e.html b/.docs/html/md__r_e_a_d_m_e.html
index 6442b3d..3dfc4f9 100644
--- a/.docs/html/md__r_e_a_d_m_e.html
+++ b/.docs/html/md__r_e_a_d_m_e.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -112,7 +112,12 @@
 <li><code>:</code> is command to arguments delimiter.</li>
 <li><code>,</code> is argument to argument delimiter.</li>
 </ul>
-<p >Check library documentation and example codes for more information. Library documentation is available at <code>.docs/html/index.html</code>. Example applications are available at <code>examples</code> folder. All examples are made with STM HAL framework.</p>
+<p ><code>list</code> is an array with commands, handlers and command descriptions. </p><div class="fragment"><div class="line">CMDList cmdList[] = {</div>
+<div class="line">    SCMD_ADD(help, &quot;&quot;), // No description</div>
+<div class="line">    SCMD_ADD(reset, &quot;Reset the device&quot;),</div>
+<div class="line">    SCMD_ADD(info, &quot;Get device info&quot;)</div>
+<div class="line">};</div>
+</div><!-- fragment --><p >Check library documentation and example codes for more information. Library documentation is available at <code>.docs/html/index.html</code>. Example applications are available at <code>examples</code> folder. All examples are made with STM HAL framework.</p>
 <h1><a class="anchor" id="autotoc_md1"></a>
 License</h1>
 <p >Copyright (c) 2022, silvio3105 (www.github.com/silvio3105)</p>
@@ -127,7 +132,7 @@ <h1><a class="anchor" id="autotoc_md1"></a>
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/menudata.js b/.docs/html/menudata.js
index f6e4695..a9bf53c 100644
--- a/.docs/html/menudata.js
+++ b/.docs/html/menudata.js
@@ -37,6 +37,7 @@ var menudata={children:[
 {text:"File List",url:"files.html"},
 {text:"File Members",url:"globals.html",children:[
 {text:"All",url:"globals.html"},
-{text:"Functions",url:"globals_func.html"},
 {text:"Typedefs",url:"globals_type.html"},
+{text:"Enumerations",url:"globals_enum.html"},
+{text:"Enumerator",url:"globals_eval.html"},
 {text:"Macros",url:"globals_defs.html"}]}]}]}
diff --git a/.docs/html/modules.html b/.docs/html/modules.html
index f36079c..6893c46 100644
--- a/.docs/html/modules.html
+++ b/.docs/html/modules.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -104,7 +104,7 @@
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/navtreedata.js b/.docs/html/navtreedata.js
index 1916614..f0d0161 100644
--- a/.docs/html/navtreedata.js
+++ b/.docs/html/navtreedata.js
@@ -42,8 +42,9 @@ var NAVTREE =
       [ "File List", "files.html", "files_dup" ],
       [ "File Members", "globals.html", [
         [ "All", "globals.html", null ],
-        [ "Functions", "globals_func.html", null ],
         [ "Typedefs", "globals_type.html", null ],
+        [ "Enumerations", "globals_enum.html", null ],
+        [ "Enumerator", "globals_eval.html", null ],
         [ "Macros", "globals_defs.html", null ]
       ] ]
     ] ]
diff --git a/.docs/html/navtreeindex0.js b/.docs/html/navtreeindex0.js
index 34efcb0..6e1ce3a 100644
--- a/.docs/html/navtreeindex0.js
+++ b/.docs/html/navtreeindex0.js
@@ -1,37 +1,41 @@
 var NAVTREEINDEX0 =
 {
 "annotated.html":[2,0],
-"class_c_m_d_handler.html":[1,0,1],
-"class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432":[1,0,1,4],
-"class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59":[1,0,1,2],
-"class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a":[1,0,1,0],
-"class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b":[1,0,1,3],
-"class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47":[1,0,1,1],
 "classes.html":[2,1],
+"classs_c_m_d.html":[1,0,1],
+"classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95":[1,0,1,2],
+"classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86":[1,0,1,3],
+"classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8":[1,0,1,4],
+"classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5":[1,0,1,0],
+"classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e":[1,0,1,1],
 "files.html":[3,0],
 "functions.html":[2,2,0],
 "functions_func.html":[2,2,1],
 "functions_vars.html":[2,2,2],
 "globals.html":[3,1,0],
-"globals_defs.html":[3,1,3],
-"globals_func.html":[3,1,1],
-"globals_type.html":[3,1,2],
+"globals_defs.html":[3,1,4],
+"globals_enum.html":[3,1,2],
+"globals_eval.html":[3,1,3],
+"globals_type.html":[3,1,1],
 "group__s_c_m_d.html":[1,0],
-"group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613":[1,0,3],
-"group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3":[1,0,4],
+"group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a":[1,0,3],
+"group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51":[1,0,6],
+"group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff":[1,0,2],
+"group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51":[1,0,4],
+"group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78":[1,0,7],
 "group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204":[1,0,5],
-"group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164":[1,0,2],
-"group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621":[1,0,6],
+"group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7":[1,0,7,2],
+"group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983":[1,0,7,1],
+"group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a":[1,0,7,0],
 "index.html":[],
 "md__r_e_a_d_m_e.html":[0],
 "md__r_e_a_d_m_e.html#autotoc_md1":[0,0],
 "modules.html":[1],
 "pages.html":[],
-"s_c_m_d_8cpp.html":[3,0,0],
-"s_c_m_d_8cpp_source.html":[3,0,0],
-"s_c_m_d_8h.html":[3,0,1],
-"s_c_m_d_8h_source.html":[3,0,1],
-"struct_c_m_d_list.html":[1,0,0],
-"struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c":[1,0,0,1],
-"struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78":[1,0,0,0]
+"s_c_m_d_8h.html":[3,0,0],
+"s_c_m_d_8h_source.html":[3,0,0],
+"structs_c_m_d_list.html":[1,0,0],
+"structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d":[1,0,0,0],
+"structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607":[1,0,0,2],
+"structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58":[1,0,0,1]
 };
diff --git a/.docs/html/pages.html b/.docs/html/pages.html
index c04eddf..617cf08 100644
--- a/.docs/html/pages.html
+++ b/.docs/html/pages.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -104,7 +104,7 @@
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/s_c_m_d_8h.html b/.docs/html/s_c_m_d_8h.html
index 77832cb..9bdba2f 100644
--- a/.docs/html/s_c_m_d_8h.html
+++ b/.docs/html/s_c_m_d_8h.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -95,7 +95,7 @@
 <a href="#nested-classes">Classes</a> &#124;
 <a href="#define-members">Macros</a> &#124;
 <a href="#typedef-members">Typedefs</a> &#124;
-<a href="#func-members">Functions</a>  </div>
+<a href="#enum-members">Enumerations</a>  </div>
   <div class="headertitle"><div class="title">sCMD.h File Reference</div></div>
 </div><!--header-->
 <div class="contents">
@@ -112,50 +112,47 @@
 <area shape="rect" title=" " alt="" coords="10,79,70,104"/>
 </map>
 </div>
-</div><div class="textblock"><div class="dynheader">
-This graph shows which files directly or indirectly include this file:</div>
-<div class="dyncontent">
-<div class="center"><img src="s_c_m_d_8h__dep__incl.png" border="0" usemap="#as_c_m_d_8hdep" alt=""/></div>
-<map name="as_c_m_d_8hdep" id="as_c_m_d_8hdep">
-<area shape="rect" title="Simple Command Handler header file." alt="" coords="12,5,81,31"/>
-<area shape="rect" href="s_c_m_d_8cpp.html" title="Simple Command Handler source file." alt="" coords="5,79,88,104"/>
-</map>
-</div>
 </div>
 <p><a href="s_c_m_d_8h_source.html">Go to the source code of this file.</a></p>
 <table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
 Classes</h2></td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct for command.  <a href="struct_c_m_d_list.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Struct for command list.  <a href="structs_c_m_d_list.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html">CMDHandler&lt; max &gt;</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for command hanlder.  <a href="class_c_m_d_handler.html#details">More...</a><br /></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html">sCMD&lt; max &gt;</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class for command handler.  <a href="classs_c_m_d.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
 Macros</h2></td></tr>
-<tr class="memitem:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>&#160;&#160;&#160;0</td></tr>
-<tr class="memdesc:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delimiter between commands.  <a href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">More...</a><br /></td></tr>
-<tr class="separator:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ga00d3cd602b53555150c73418befaa613"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>&#160;&#160;&#160;1</td></tr>
-<tr class="memdesc:ga00d3cd602b53555150c73418befaa613"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delimiter between command and arguments.  <a href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">More...</a><br /></td></tr>
-<tr class="separator:ga00d3cd602b53555150c73418befaa613"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:gabf41a56387b606234547248a5cf74164"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>&#160;&#160;&#160;2</td></tr>
-<tr class="memdesc:gabf41a56387b606234547248a5cf74164"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delimiter between arguments.  <a href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">More...</a><br /></td></tr>
-<tr class="separator:gabf41a56387b606234547248a5cf74164"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)&#160;&#160;&#160;	<a class="el" href="classs_c_m_d.html">sCMD</a>##_cmd</td></tr>
+<tr class="memdesc:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get command handler function for <code>_cmd</code>.  <a href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">More...</a><br /></td></tr>
+<tr class="separator:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">SCMD_ADD</a>(_cmd,  _description)&#160;&#160;&#160;	{ #_cmd, <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd), _description }</td></tr>
+<tr class="memdesc:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Code snippet for adding command into command list.  <a href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">More...</a><br /></td></tr>
+<tr class="separator:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:gaae7661e6307c398240ab2c8520bd6c51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">SCMD_HANDLER</a>(_cmd)&#160;&#160;&#160;	static void <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)(const char** args, const uint8_t argCnt)</td></tr>
+<tr class="memdesc:gaae7661e6307c398240ab2c8520bd6c51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Code snippet for creating command handler declaration and definition.  <a href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">More...</a><br /></td></tr>
+<tr class="separator:gaae7661e6307c398240ab2c8520bd6c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
 Typedefs</h2></td></tr>
 <tr class="memitem:gab7d31f894b743026908bea0c58929204"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>) (const char **args, const uint8_t argCnt)</td></tr>
 <tr class="memdesc:gab7d31f894b743026908bea0c58929204"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for command handler.  <a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">More...</a><br /></td></tr>
 <tr class="separator:gab7d31f894b743026908bea0c58929204"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memItemLeft" align="right" valign="top">typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></td></tr>
+<tr class="memdesc:ga7cdf4eb22a208b705937117dab6cdf51"><td class="mdescLeft">&#160;</td><td class="mdescRight">Typedef for command index.  <a href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">More...</a><br /></td></tr>
+<tr class="separator:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a> (const char *input, const <a class="el" href="struct_c_m_d_list.html">CMDList</a> *cmdList, const uint16_t len)</td></tr>
-<tr class="memdesc:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find <code>input</code> command in <code>cmdList</code>.  <a href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">More...</a><br /></td></tr>
-<tr class="separator:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t { <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a> = 0
+, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a>
+, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a>
+ }</td></tr>
+<tr class="memdesc:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enum for delimiter types.  <a href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">More...</a><br /></td></tr>
+<tr class="separator:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p >Simple Command Handler header file. </p>
@@ -169,7 +166,7 @@
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="s_c_m_d_8h.html">sCMD.h</a></li>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/s_c_m_d_8h.js b/.docs/html/s_c_m_d_8h.js
index 01baba4..05cfe8f 100644
--- a/.docs/html/s_c_m_d_8h.js
+++ b/.docs/html/s_c_m_d_8h.js
@@ -1,8 +1,13 @@
 var s_c_m_d_8h =
 [
-    [ "sCMD_AA", "group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164", null ],
-    [ "sCMD_CA", "group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613", null ],
-    [ "sCMD_CC", "group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3", null ],
+    [ "SCMD_ADD", "group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff", null ],
+    [ "SCMD_GET", "group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a", null ],
+    [ "SCMD_HANDLER", "group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51", null ],
     [ "cmdH", "group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204", null ],
-    [ "findCmd", "group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621", null ]
+    [ "sCMDIdx", "group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51", null ],
+    [ "sCMD_del_t", "group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78", [
+      [ "sCMD_CC", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a", null ],
+      [ "sCMD_CA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983", null ],
+      [ "sCMD_AA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7", null ]
+    ] ]
 ];
\ No newline at end of file
diff --git a/.docs/html/s_c_m_d_8h_source.html b/.docs/html/s_c_m_d_8h_source.html
index 1966c3c..5764f29 100644
--- a/.docs/html/s_c_m_d_8h_source.html
+++ b/.docs/html/s_c_m_d_8h_source.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -119,192 +119,220 @@
 <div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment">// ----- INCLUDE FILES</span></div>
 <div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="preprocessor">#include            &quot;sStd.h&quot;</span></div>
 <div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span> </div>
-<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="comment">// ----- MACRO DEFINITIONS</span></div>
-<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="comment">// DELIMITER TYPES</span></div>
-<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">   49</a></span><span class="preprocessor">#define sCMD_CC         0 </span></div>
-<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">   50</a></span><span class="preprocessor">#define sCMD_CA         1 </span></div>
-<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">   51</a></span><span class="preprocessor">#define sCMD_AA         2 </span></div>
-<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="comment">// ----- TYPEDEFS</span></div>
-<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">   62</a></span><span class="comment"></span><span class="keyword">typedef</span> void (*<a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span>** args, <span class="keyword">const</span> uint8_t argCnt);</div>
-<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span> </div>
+<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span><span class="comment">// ----- CODE SNIPPETS</span></div>
+<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">   53</a></span><span class="comment"></span><span class="preprocessor">#define SCMD_GET(_cmd) \</span></div>
+<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="preprocessor">    sCMD##_cmd</span></div>
+<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span> </div>
+<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">   62</a></span><span class="preprocessor">#define SCMD_ADD(_cmd, _description) \</span></div>
+<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="preprocessor">    { #_cmd, SCMD_GET(_cmd), _description }</span></div>
 <div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
-<div class="line"><a id="l00065" name="l00065"></a><span class="lineno">   65</span><span class="comment">// ----- STRUCTS</span></div>
-<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="struct_c_m_d_list.html">   70</a></span><span class="comment"></span><span class="keyword">struct </span><a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a> {</div>
-<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">   71</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">cmd</a>; </div>
-<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">   72</a></span>    <span class="keyword">const</span> <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> <a class="code hl_variable" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a>; </div>
-<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span>};</div>
+<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">   72</a></span><span class="preprocessor">#define SCMD_HANDLER(_cmd) \</span></div>
+<div class="line"><a id="l00073" name="l00073"></a><span class="lineno">   73</span><span class="preprocessor">    static void SCMD_GET(_cmd)(const char** args, const uint8_t argCnt)</span></div>
 <div class="line"><a id="l00074" name="l00074"></a><span class="lineno">   74</span> </div>
 <div class="line"><a id="l00075" name="l00075"></a><span class="lineno">   75</span> </div>
-<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="comment">// ----- FUNCTION DECLARATIONS</span></div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span><span class="comment"></span>int16_t <a class="code hl_function" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* input, <span class="keyword">const</span> <a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a>* cmdList, <span class="keyword">const</span> uint16_t len);</div>
-<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span> </div>
-<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span> </div>
-<div class="line"><a id="l00089" name="l00089"></a><span class="lineno">   89</span><span class="comment">// ----- CLASSES</span></div>
-<div class="line"><a id="l00095" name="l00095"></a><span class="lineno">   95</span><span class="comment"></span><span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t max&gt;</div>
-<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html">   96</a></span><span class="keyword">class </span><a class="code hl_class" href="class_c_m_d_handler.html">CMDHandler</a> {</div>
-<div class="line"><a id="l00097" name="l00097"></a><span class="lineno">   97</span>    <span class="comment">// PUBLIC STUFF</span></div>
-<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span>    <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00099" name="l00099"></a><span class="lineno">   99</span>    <span class="comment">// CONSTRUCTOR &amp; DECONSTRUCTOR METHOD DECLARATIONS</span></div>
-<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">  111</a></span><span class="comment"></span>    <a class="code hl_function" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler</a>(<span class="keyword">const</span> <a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a>* list, uint16_t len, <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> fallback,  <span class="keywordtype">char</span> ccDelimiter = <span class="charliteral">&#39;;&#39;</span>, <span class="keywordtype">char</span> caDelimiter = <span class="charliteral">&#39;,&#39;</span>, <span class="keywordtype">char</span> aaDelimiter = <span class="charliteral">&#39;,&#39;</span>)</div>
-<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>    {</div>
-<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>        <span class="comment">// Set command list</span></div>
-<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>        cmdList = list;</div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>        cmdListLen = len;</div>
+<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span><span class="comment">// ----- TYPEDEFS</span></div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">   84</a></span><span class="comment"></span><span class="keyword">typedef</span> void (*<a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span>** args, <span class="keyword">const</span> uint8_t argCnt);</div>
+<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">   90</a></span><span class="keyword">typedef</span> int16_t <a class="code hl_typedef" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a>;</div>
+<div class="line"><a id="l00091" name="l00091"></a><span class="lineno">   91</span> </div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno">   92</span> </div>
+<div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span><span class="comment">// ----- ENUMS</span></div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">   98</a></span><span class="comment"></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t {</div>
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">   99</a></span>    <a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a> = 0, </div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">  100</a></span>    <a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a>, </div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    <a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a> </div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">  102</a></span>};</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span> </div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span> </div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span><span class="comment">// ----- STRUCTS</span></div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html">  110</a></span><span class="comment"></span><span class="keyword">struct </span><a class="code hl_struct" href="structs_c_m_d_list.html">sCMDList</a> {</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">  111</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">cmd</a>; </div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">  112</a></span>    <span class="keyword">const</span> <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> <a class="code hl_variable" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a>; </div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">  113</a></span>    <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">cmdDescription</a> = <span class="stringliteral">&quot;&quot;</span>; </div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>};</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
 <div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>        <span class="comment">// Set fallback function</span></div>
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>        cmdFallback = fallback;</div>
-<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>        <span class="comment">// Set delimiters</span></div>
-<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>        <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>, ccDelimiter);</div>
-<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>        <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>, caDelimiter);</div>
-<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>        <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>, aaDelimiter);     </div>
-<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    }</div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span> </div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">  131</a></span>    <a class="code hl_function" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">~CMDHandler</a>(<span class="keywordtype">void</span>)</div>
-<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>    {</div>
-<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>        <span class="comment">// Reset command list</span></div>
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>        cmdList = <span class="keyword">nullptr</span>;</div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>        cmdListLen = 0;</div>
-<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span> </div>
-<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>        <span class="comment">// Reset fallback</span></div>
-<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>        cmdFallback = <span class="keyword">nullptr</span>;</div>
-<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> </div>
-<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>        <span class="comment">// Reset delimiters</span></div>
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>        <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>, <span class="charliteral">&#39;\0&#39;</span>);</div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>        <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>, <span class="charliteral">&#39;\0&#39;</span>);</div>
-<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>        <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>, <span class="charliteral">&#39;\0&#39;</span>);        </div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>    }</div>
-<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span> </div>
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>    <span class="comment">// METHOD DECLARATIONS</span></div>
-<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">  157</a></span><span class="comment"></span>    uint8_t <a class="code hl_function" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">exe</a>(<span class="keywordtype">char</span>* input, uint8_t nullAsArg = 0)</div>
-<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>    {</div>
-<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>        <span class="keywordtype">char</span>* nextCmd = <span class="keyword">nullptr</span>;</div>
-<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>        <span class="keywordtype">char</span>* nextArg = <span class="keyword">nullptr</span>;</div>
-<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>        <span class="keywordtype">char</span>* currCmd = <span class="keyword">nullptr</span>;</div>
-<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>        <span class="keywordtype">char</span>* currArg = <span class="keyword">nullptr</span>;    </div>
-<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>        int16_t cmdIdx = -1;</div>
-<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>        uint8_t argCnt = 0;</div>
-<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>        uint8_t cmdCnt = 0;</div>
-<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span> </div>
-<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>        <span class="comment">// Set pointer to first command</span></div>
-<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>        nextCmd = input;</div>
-<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span> </div>
-<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>        <span class="comment">// While next command is found</span></div>
-<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>        <span class="keywordflow">do</span></div>
-<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>        {</div>
-<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>            <span class="comment">// Reset argument counter</span></div>
-<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>            argCnt = 0;</div>
-<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span> </div>
-<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>            <span class="comment">// Copy command start address</span></div>
-<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>            currCmd = nextCmd;</div>
-<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span> </div>
-<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>            <span class="comment">// Find next command</span></div>
-<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>            nextCmd = sStd::tok(nextCmd, delimiter[<a class="code hl_define" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>]);</div>
-<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span> </div>
-<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>            <span class="comment">// Find start address of first argument</span></div>
-<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>            nextArg = sStd::tok(currCmd, delimiter[<a class="code hl_define" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>]);</div>
-<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>            </div>
-<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>            <span class="comment">// If argument part is found</span></div>
-<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>            <span class="keywordflow">if</span> (nextArg)</div>
-<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>            {</div>
-<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>                <span class="comment">// While command to argument delimiter is found</span></div>
-<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>                <span class="keywordflow">do</span></div>
-<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>                {</div>
-<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>                    <span class="comment">// Stop parsing arguments if argument limit is reached</span></div>
-<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span>                    <span class="keywordflow">if</span> (argCnt == maxArgs) <span class="keywordflow">break</span>;</div>
-<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span> </div>
-<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>                    <span class="comment">// Copy argument start address</span></div>
-<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span>                    currArg = nextArg;</div>
-<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>        </div>
-<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>                    <span class="comment">// Find next argument</span></div>
-<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>                    nextArg = sStd::tok(nextArg, delimiter[<a class="code hl_define" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>]);               </div>
-<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>        </div>
-<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>                    <span class="comment">// If current argument is not \0 or if nullAsArg is set to 1</span></div>
-<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>                    <span class="keywordflow">if</span> (*currArg || nullAsArg)</div>
-<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>                    {</div>
-<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>                        <span class="comment">// Copy argument&#39;s start address to argument array</span></div>
-<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>                        args[argCnt] = currArg;</div>
-<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>            </div>
-<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>                        <span class="comment">// Increase argument counter</span></div>
-<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>                        argCnt++;</div>
-<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>                    }</div>
-<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>                }</div>
-<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>                <span class="keywordflow">while</span> (nextArg);</div>
-<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>            }</div>
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
-<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>            <span class="comment">// If current command is not \0</span></div>
-<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span>            <span class="keywordflow">if</span> (*currCmd)</div>
-<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>            {</div>
-<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span>                <span class="comment">// Find command index in command list</span></div>
-<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>                cmdIdx = <a class="code hl_function" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a>(currCmd, cmdList, cmdListLen);</div>
-<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>        </div>
-<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>                <span class="comment">// Call fallback handler if command was not found</span></div>
-<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>                <span class="keywordflow">if</span> (cmdIdx == -1) cmdFallback((<span class="keyword">const</span> <span class="keywordtype">char</span>**)currCmd, 0);</div>
-<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>                <span class="keywordflow">else</span> <span class="comment">// Command is found</span></div>
-<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>                {       </div>
-<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>                    <span class="comment">// Call command arguments</span></div>
-<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>                    cmdList[cmdIdx].<a class="code hl_variable" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>**)args, argCnt);</div>
-<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span> </div>
-<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>                    <span class="comment">// Increase command counter</span></div>
-<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>                    cmdCnt++;</div>
-<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>                }   </div>
-<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>            }</div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>        }</div>
-<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>        <span class="keywordflow">while</span> (nextCmd);</div>
-<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>        </div>
-<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>        <span class="comment">// Return number of executed commands</span></div>
-<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>        <span class="keywordflow">return</span> cmdCnt;      </div>
-<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>    }</div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span> </div>
-<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">  244</a></span>    <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(uint8_t type, <span class="keywordtype">char</span> del)</div>
-<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>    {</div>
-<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span>        <span class="comment">// Set delimiter for the type</span></div>
-<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span>        delimiter[type] = del;</div>
-<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>    }</div>
-<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span> </div>
-<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">  256</a></span>    <span class="keyword">inline</span> <span class="keywordtype">char</span> <a class="code hl_function" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">getDelimiter</a>(uint8_t type)<span class="keyword"> const</span></div>
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span><span class="keyword">    </span>{</div>
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span>        <span class="comment">// Get delimiter for the type</span></div>
-<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>        <span class="keywordflow">return</span> delimiter[type];</div>
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>    }</div>
-<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span> </div>
-<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span> </div>
-<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>    <span class="comment">// PRIVATE STUFF</span></div>
-<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span>    <span class="keyword">private</span>:</div>
-<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span>    <span class="comment">// VARIABLES</span></div>
-<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span><span class="comment"></span>    <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> cmdFallback = <span class="keyword">nullptr</span>; </div>
-<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span>    <span class="keyword">const</span> <a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a>* cmdList; </div>
-<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>    uint8_t maxArgs = max; </div>
-<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span>    <span class="keywordtype">char</span> delimiter[3] = { <span class="charliteral">&#39;\0&#39;</span>, <span class="charliteral">&#39;\0&#39;</span>, <span class="charliteral">&#39;\0&#39;</span> }; </div>
-<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span>    <span class="keywordtype">char</span>* args[max]; </div>
-<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span>    uint16_t cmdListLen = 0; </div>
-<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>};</div>
-<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span> </div>
-<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
-<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span><span class="preprocessor">#endif </span><span class="comment">// _SCMD_H_</span></div>
-<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span> </div>
-<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span><span class="comment">// END WITH NEW LINE</span></div>
-<div class="ttc" id="aclass_c_m_d_handler_html"><div class="ttname"><a href="class_c_m_d_handler.html">CMDHandler</a></div><div class="ttdoc">Class for command hanlder.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00096">sCMD.h:96</a></div></div>
-<div class="ttc" id="aclass_c_m_d_handler_html_a296dc2f654b585e7cb29caa69452d432"><div class="ttname"><a href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">CMDHandler::setDelimiter</a></div><div class="ttdeci">void setDelimiter(uint8_t type, char del)</div><div class="ttdoc">Set delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00244">sCMD.h:244</a></div></div>
-<div class="ttc" id="aclass_c_m_d_handler_html_a81e71d6d511bd21237c40366bc31cf59"><div class="ttname"><a href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">CMDHandler::exe</a></div><div class="ttdeci">uint8_t exe(char *input, uint8_t nullAsArg=0)</div><div class="ttdoc">Parse and execute input C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00157">sCMD.h:157</a></div></div>
-<div class="ttc" id="aclass_c_m_d_handler_html_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a"><div class="ttname"><a href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler::CMDHandler</a></div><div class="ttdeci">CMDHandler(const CMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</div><div class="ttdoc">CMD handler constructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00111">sCMD.h:111</a></div></div>
-<div class="ttc" id="aclass_c_m_d_handler_html_aa8501ee9fae636c4d0fc2311cab3a54b"><div class="ttname"><a href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">CMDHandler::getDelimiter</a></div><div class="ttdeci">char getDelimiter(uint8_t type) const</div><div class="ttdoc">Get delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00256">sCMD.h:256</a></div></div>
-<div class="ttc" id="aclass_c_m_d_handler_html_ab0dff8dad9b29c91453a4f8c689a9c47"><div class="ttname"><a href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">CMDHandler::~CMDHandler</a></div><div class="ttdeci">~CMDHandler(void)</div><div class="ttdoc">CMD handler deconstructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00131">sCMD.h:131</a></div></div>
-<div class="ttc" id="agroup__s_c_m_d_html_ga00d3cd602b53555150c73418befaa613"><div class="ttname"><a href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a></div><div class="ttdeci">#define sCMD_CA</div><div class="ttdoc">Delimiter between command and arguments.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00050">sCMD.h:50</a></div></div>
-<div class="ttc" id="agroup__s_c_m_d_html_ga95b2953eaf3446e41eaa41b8f03e9ca3"><div class="ttname"><a href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a></div><div class="ttdeci">#define sCMD_CC</div><div class="ttdoc">Delimiter between commands.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00049">sCMD.h:49</a></div></div>
-<div class="ttc" id="agroup__s_c_m_d_html_gab7d31f894b743026908bea0c58929204"><div class="ttname"><a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a></div><div class="ttdeci">void(* cmdH)(const char **args, const uint8_t argCnt)</div><div class="ttdoc">Typedef for command handler.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00062">sCMD.h:62</a></div></div>
-<div class="ttc" id="agroup__s_c_m_d_html_gabf41a56387b606234547248a5cf74164"><div class="ttname"><a href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a></div><div class="ttdeci">#define sCMD_AA</div><div class="ttdoc">Delimiter between arguments.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00051">sCMD.h:51</a></div></div>
-<div class="ttc" id="agroup__s_c_m_d_html_gaf825bf80ddd1a52d68d737ea93e0f621"><div class="ttname"><a href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a></div><div class="ttdeci">int16_t findCmd(const char *input, const CMDList *cmdList, const uint16_t len)</div><div class="ttdoc">Find input command in cmdList.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8cpp_source.html#l00047">sCMD.cpp:47</a></div></div>
-<div class="ttc" id="astruct_c_m_d_list_html"><div class="ttname"><a href="struct_c_m_d_list.html">CMDList</a></div><div class="ttdoc">Struct for command.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00070">sCMD.h:70</a></div></div>
-<div class="ttc" id="astruct_c_m_d_list_html_a9caafd87cedc702f14a47a3a4089301c"><div class="ttname"><a href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">CMDList::cmdHandler</a></div><div class="ttdeci">const cmdH cmdHandler</div><div class="ttdoc">Pointer to command function. See cmdH.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00072">sCMD.h:72</a></div></div>
-<div class="ttc" id="astruct_c_m_d_list_html_abdbdb8c1725681c7af26692f4e7c7d78"><div class="ttname"><a href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">CMDList::cmd</a></div><div class="ttdeci">const char * cmd</div><div class="ttdoc">Command C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00071">sCMD.h:71</a></div></div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span><span class="comment">// ----- CLASSES</span></div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span><span class="comment"></span><span class="keyword">template</span> &lt;u<span class="keywordtype">int</span>8_t max&gt;</div>
+<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="classs_c_m_d.html">  124</a></span><span class="keyword">class </span><a class="code hl_class" href="classs_c_m_d.html">sCMD</a> {</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    <span class="comment">// PUBLIC STUFF</span></div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>    <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>    <span class="comment">// CONSTRUCTOR &amp; DECONSTRUCTOR METHOD DECLARATIONS</span></div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">  139</a></span><span class="comment"></span>    <a class="code hl_function" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structs_c_m_d_list.html">sCMDList</a>* list, uint16_t len, <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> fallback,  <span class="keywordtype">char</span> ccDelimiter = <span class="charliteral">&#39;;&#39;</span>, <span class="keywordtype">char</span> caDelimiter = <span class="charliteral">&#39;,&#39;</span>, <span class="keywordtype">char</span> aaDelimiter = <span class="charliteral">&#39;,&#39;</span>)</div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>    {</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>        <span class="comment">// Set command list</span></div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>        cmdList = list;</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>        cmdListLen = len;</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>        <span class="comment">// Set fallback function</span></div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>        cmdFallback = fallback;</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span> </div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>        <span class="comment">// Set delimiters</span></div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>        <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CC, ccDelimiter);</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>        <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CA, caDelimiter);</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>        <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_AA, aaDelimiter);     </div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>    }</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span> </div>
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">  159</a></span>    <a class="code hl_function" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">~sCMD</a>(<span class="keywordtype">void</span>)</div>
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>    {</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>        <span class="comment">// Reset command list</span></div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>        cmdList = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>        cmdListLen = 0;</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span> </div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>        <span class="comment">// Reset fallback</span></div>
+<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>        cmdFallback = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span> </div>
+<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>        <span class="comment">// Reset delimiters</span></div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>        <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CC, <span class="charliteral">&#39;\0&#39;</span>);</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>        <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CA, <span class="charliteral">&#39;\0&#39;</span>);</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>        <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_AA, <span class="charliteral">&#39;\0&#39;</span>);        </div>
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>    }</div>
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span> </div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span> </div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>    <span class="comment">// METHOD DECLARATIONS</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">  186</a></span><span class="comment"></span>    uint8_t <a class="code hl_function" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">exe</a>(<span class="keywordtype">char</span>* input, uint8_t nullAsArg = 0)</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>    {</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>        <span class="keywordtype">char</span>* nextCmd = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>        <span class="keywordtype">char</span>* nextArg = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>        <span class="keywordtype">char</span>* currCmd = <span class="keyword">nullptr</span>;</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>        <span class="keywordtype">char</span>* currArg = <span class="keyword">nullptr</span>;    </div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span>        <a class="code hl_typedef" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a> idx = -1;</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>        uint8_t argCnt = 0;</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>        uint8_t cmdCnt = 0;</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> </div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>        <span class="comment">// Set pointer to first command</span></div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>        nextCmd = input;</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span> </div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>        <span class="comment">// While next command is found</span></div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>        <span class="keywordflow">do</span></div>
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>        {</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>            <span class="comment">// Reset argument counter</span></div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>            argCnt = 0;</div>
+<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
+<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>            <span class="comment">// Copy command start address</span></div>
+<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>            currCmd = nextCmd;</div>
+<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span> </div>
+<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>            <span class="comment">// Find next command</span></div>
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>            nextCmd = sStd::tok(nextCmd, delimiter[<a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a>]);</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> </div>
+<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span>            <span class="comment">// Find start address of first argument</span></div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>            nextArg = sStd::tok(currCmd, delimiter[<a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a>]);</div>
+<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span>            </div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span>            <span class="comment">// If argument part is found</span></div>
+<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span>            <span class="keywordflow">if</span> (nextArg)</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span>            {</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>                <span class="comment">// While command to argument delimiter is found</span></div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>                <span class="keywordflow">do</span></div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>                {</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>                    <span class="comment">// Stop parsing arguments if argument limit is reached</span></div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>                    <span class="keywordflow">if</span> (argCnt == maxArgs) <span class="keywordflow">break</span>;</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>                    <span class="comment">// Copy argument start address</span></div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>                    currArg = nextArg;</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>        </div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>                    <span class="comment">// Find next argument</span></div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>                    nextArg = sStd::tok(nextArg, delimiter[<a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a>]);               </div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>        </div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>                    <span class="comment">// If current argument is not \0 or if nullAsArg is set to 1</span></div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>                    <span class="keywordflow">if</span> (*currArg || nullAsArg)</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>                    {</div>
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>                        <span class="comment">// Copy argument&#39;s start address to argument array</span></div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>                        args[argCnt] = currArg;</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>            </div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>                        <span class="comment">// Increase argument counter</span></div>
+<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>                        argCnt++;</div>
+<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>                    }</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>                }</div>
+<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>                <span class="keywordflow">while</span> (nextArg);</div>
+<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>            }</div>
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span> </div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>            <span class="comment">// If current command is not \0</span></div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>            <span class="keywordflow">if</span> (*currCmd)</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>            {</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>                <span class="comment">// Find command index in command list</span></div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span>                idx = findCmd(currCmd);</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span>        </div>
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>                <span class="comment">// Call fallback handler if command was not found</span></div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>                <span class="keywordflow">if</span> (idx == -1) cmdFallback((<span class="keyword">const</span> <span class="keywordtype">char</span>**)currCmd, 0);</div>
+<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span>                <span class="keywordflow">else</span> <span class="comment">// Command is found</span></div>
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>                {       </div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>                    <span class="comment">// Call command arguments</span></div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>                    cmdList[idx].<a class="code hl_variable" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>**)args, argCnt);</div>
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span> </div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>                    <span class="comment">// Increase command counter</span></div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>                    cmdCnt++;</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>                }   </div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span>            }</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>        }</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>        <span class="keywordflow">while</span> (nextCmd);</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span>        </div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span>        <span class="comment">// Return number of executed commands</span></div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>        <span class="keywordflow">return</span> cmdCnt;      </div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span>    }</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">  273</a></span>    <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(<a class="code hl_enumeration" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type, <span class="keywordtype">char</span> del)</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>    {</div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span>        <span class="comment">// Set delimiter for the type</span></div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span>        delimiter[type] = del;</div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span>    }</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span> </div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">  285</a></span>    <span class="keyword">inline</span> <span class="keywordtype">char</span> <a class="code hl_function" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">getDelimiter</a>(<a class="code hl_enumeration" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type)<span class="keyword"> const</span></div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span><span class="keyword">    </span>{</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>        <span class="comment">// Get delimiter for the type</span></div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span>        <span class="keywordflow">return</span> delimiter[type];</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>    }</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span> </div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>    <span class="comment">// PRIVATE STUFF</span></div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span>    <span class="keyword">private</span>:</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>    <span class="comment">// VARIABLES</span></div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span><span class="comment"></span>    <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> cmdFallback = <span class="keyword">nullptr</span>; </div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span>    <span class="keyword">const</span> <a class="code hl_struct" href="structs_c_m_d_list.html">sCMDList</a>* cmdList; </div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>    uint8_t maxArgs = max; </div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span>    <span class="keywordtype">char</span> delimiter[3] = { <span class="charliteral">&#39;\0&#39;</span>, <span class="charliteral">&#39;\0&#39;</span>, <span class="charliteral">&#39;\0&#39;</span> }; </div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span>    <span class="keywordtype">char</span>* args[max]; </div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span>    uint16_t cmdListLen = 0; </div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span>    <span class="comment">// METHODS</span></div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span><span class="comment"></span>    <a class="code hl_typedef" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a> findCmd(<span class="keyword">const</span> <span class="keywordtype">char</span>* cmd)<span class="keyword"> const</span></div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span><span class="keyword">    </span>{</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>        <span class="keywordflow">for</span> (uint16_t i = 0; i &lt; cmdListLen; i++)</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span>        {</div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>            <span class="comment">// If command is found, return index</span></div>
+<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>            <span class="keywordflow">if</span> (sStd::cmp(cmd, cmdList[i].cmd) == SSTD_OK) <span class="keywordflow">return</span> i;</div>
+<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>        }</div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span> </div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>        <span class="comment">// Command is not found</span></div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span>        <span class="keywordflow">return</span> -1;</div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span>    }   </div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span>};</div>
+<div class="line"><a id="l00328" name="l00328"></a><span class="lineno">  328</span> </div>
+<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span> </div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span><span class="preprocessor">#endif </span><span class="comment">// _SCMD_H_</span></div>
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span> </div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span><span class="comment">// END WITH NEW LINE</span></div>
+<div class="ttc" id="aclasss_c_m_d_html"><div class="ttname"><a href="classs_c_m_d.html">sCMD</a></div><div class="ttdoc">Class for command handler.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00124">sCMD.h:124</a></div></div>
+<div class="ttc" id="aclasss_c_m_d_html_a6073a3d8ecf99fb983d72e5532ea1f95"><div class="ttname"><a href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">sCMD::exe</a></div><div class="ttdeci">uint8_t exe(char *input, uint8_t nullAsArg=0)</div><div class="ttdoc">Parse and execute input C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00186">sCMD.h:186</a></div></div>
+<div class="ttc" id="aclasss_c_m_d_html_a91dc61752b4712622c3c49e393338c86"><div class="ttname"><a href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">sCMD::getDelimiter</a></div><div class="ttdeci">char getDelimiter(sCMD_del_t type) const</div><div class="ttdoc">Get delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00285">sCMD.h:285</a></div></div>
+<div class="ttc" id="aclasss_c_m_d_html_ab4af423609c21bb0fbae6f6e3f0814b8"><div class="ttname"><a href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">sCMD::setDelimiter</a></div><div class="ttdeci">void setDelimiter(sCMD_del_t type, char del)</div><div class="ttdoc">Set delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00273">sCMD.h:273</a></div></div>
+<div class="ttc" id="aclasss_c_m_d_html_ab8c56a4e32cafb932af755d169f170b5"><div class="ttname"><a href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD::sCMD</a></div><div class="ttdeci">sCMD(const sCMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</div><div class="ttdoc">CMD handler constructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00139">sCMD.h:139</a></div></div>
+<div class="ttc" id="aclasss_c_m_d_html_acdd867db6da2169039d0adad7ce6ac1e"><div class="ttname"><a href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">sCMD::~sCMD</a></div><div class="ttdeci">~sCMD(void)</div><div class="ttdoc">CMD handler deconstructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00159">sCMD.h:159</a></div></div>
+<div class="ttc" id="agroup__s_c_m_d_html_ga7cdf4eb22a208b705937117dab6cdf51"><div class="ttname"><a href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></div><div class="ttdeci">int16_t sCMDIdx</div><div class="ttdoc">Typedef for command index.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00090">sCMD.h:90</a></div></div>
+<div class="ttc" id="agroup__s_c_m_d_html_gab7b50b228ddfc95179ddc0b5f3541c78"><div class="ttname"><a href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a></div><div class="ttdeci">sCMD_del_t</div><div class="ttdoc">Enum for delimiter types.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00098">sCMD.h:98</a></div></div>
+<div class="ttc" id="agroup__s_c_m_d_html_gab7d31f894b743026908bea0c58929204"><div class="ttname"><a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a></div><div class="ttdeci">void(* cmdH)(const char **args, const uint8_t argCnt)</div><div class="ttdoc">Typedef for command handler.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00084">sCMD.h:84</a></div></div>
+<div class="ttc" id="agroup__s_c_m_d_html_ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7"><div class="ttname"><a href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a></div><div class="ttdeci">@ sCMD_AA</div><div class="ttdoc">Delimiter between arguments inside command.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00102">sCMD.h:101</a></div></div>
+<div class="ttc" id="agroup__s_c_m_d_html_ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983"><div class="ttname"><a href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a></div><div class="ttdeci">@ sCMD_CA</div><div class="ttdoc">Delimiter between command and argument.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00100">sCMD.h:100</a></div></div>
+<div class="ttc" id="agroup__s_c_m_d_html_ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a"><div class="ttname"><a href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a></div><div class="ttdeci">@ sCMD_CC</div><div class="ttdoc">Delimiter between commands.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00099">sCMD.h:99</a></div></div>
+<div class="ttc" id="astructs_c_m_d_list_html"><div class="ttname"><a href="structs_c_m_d_list.html">sCMDList</a></div><div class="ttdoc">Struct for command list.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00110">sCMD.h:110</a></div></div>
+<div class="ttc" id="astructs_c_m_d_list_html_a314d8c24851f01228b2d018ce9d95a9d"><div class="ttname"><a href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">sCMDList::cmd</a></div><div class="ttdeci">const char * cmd</div><div class="ttdoc">Command C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00111">sCMD.h:111</a></div></div>
+<div class="ttc" id="astructs_c_m_d_list_html_ae2d1f15338e4bcc0537e67ea73ed8607"><div class="ttname"><a href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">sCMDList::cmdHandler</a></div><div class="ttdeci">const cmdH cmdHandler</div><div class="ttdoc">Pointer to command function. See cmdH.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00112">sCMD.h:112</a></div></div>
+<div class="ttc" id="astructs_c_m_d_list_html_af3af9bd604038bf7bb98b89d7a302b58"><div class="ttname"><a href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">sCMDList::cmdDescription</a></div><div class="ttdeci">const char * cmdDescription</div><div class="ttdoc">Command description.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00113">sCMD.h:113</a></div></div>
 </div><!-- fragment --></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="s_c_m_d_8h.html">sCMD.h</a></li>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/search/all_0.js b/.docs/html/search/all_0.js
index 15f27af..1f2b2df 100644
--- a/.docs/html/search/all_0.js
+++ b/.docs/html/search/all_0.js
@@ -1,9 +1,7 @@
 var searchData=
 [
-  ['cmd_0',['cmd',['../struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78',1,'CMDList']]],
-  ['cmdh_1',['cmdH',['../group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204',1,'sCMD.h']]],
-  ['cmdhandler_2',['CMDHandler',['../class_c_m_d_handler.html',1,'']]],
-  ['cmdhandler_3',['cmdHandler',['../struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c',1,'CMDList']]],
-  ['cmdhandler_4',['CMDHandler',['../class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a',1,'CMDHandler']]],
-  ['cmdlist_5',['CMDList',['../struct_c_m_d_list.html',1,'']]]
+  ['cmd_0',['cmd',['../structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d',1,'sCMDList']]],
+  ['cmddescription_1',['cmdDescription',['../structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58',1,'sCMDList']]],
+  ['cmdh_2',['cmdH',['../group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204',1,'sCMD.h']]],
+  ['cmdhandler_3',['cmdHandler',['../structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607',1,'sCMDList']]]
 ];
diff --git a/.docs/html/search/all_1.js b/.docs/html/search/all_1.js
index 883476f..19cc21a 100644
--- a/.docs/html/search/all_1.js
+++ b/.docs/html/search/all_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['exe_0',['exe',['../class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59',1,'CMDHandler']]]
+  ['exe_0',['exe',['../classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95',1,'sCMD']]]
 ];
diff --git a/.docs/html/search/all_2.js b/.docs/html/search/all_2.js
index 9331477..ea0aff6 100644
--- a/.docs/html/search/all_2.js
+++ b/.docs/html/search/all_2.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['findcmd_0',['findCmd',['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len):&#160;sCMD.cpp'],['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len):&#160;sCMD.cpp']]]
+  ['getdelimiter_0',['getDelimiter',['../classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86',1,'sCMD']]]
 ];
diff --git a/.docs/html/search/all_3.js b/.docs/html/search/all_3.js
index c3509f8..3fd7601 100644
--- a/.docs/html/search/all_3.js
+++ b/.docs/html/search/all_3.js
@@ -1,4 +1,17 @@
 var searchData=
 [
-  ['getdelimiter_0',['getDelimiter',['../class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b',1,'CMDHandler']]]
+  ['scmd_0',['sCMD',['../classs_c_m_d.html',1,'sCMD&lt; max &gt;'],['../classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5',1,'sCMD::sCMD()']]],
+  ['scmd_1',['SCMD',['../group__s_c_m_d.html',1,'']]],
+  ['scmd_2eh_2',['sCMD.h',['../s_c_m_d_8h.html',1,'']]],
+  ['scmd_5faa_3',['sCMD_AA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7',1,'sCMD.h']]],
+  ['scmd_5fadd_4',['SCMD_ADD',['../group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff',1,'sCMD.h']]],
+  ['scmd_5fca_5',['sCMD_CA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983',1,'sCMD.h']]],
+  ['scmd_5fcc_6',['sCMD_CC',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a',1,'sCMD.h']]],
+  ['scmd_5fdel_5ft_7',['sCMD_del_t',['../group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78',1,'sCMD.h']]],
+  ['scmd_5fget_8',['SCMD_GET',['../group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a',1,'sCMD.h']]],
+  ['scmd_5fhandler_9',['SCMD_HANDLER',['../group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51',1,'sCMD.h']]],
+  ['scmdidx_10',['sCMDIdx',['../group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51',1,'sCMD.h']]],
+  ['scmdlist_11',['sCMDList',['../structs_c_m_d_list.html',1,'']]],
+  ['setdelimiter_12',['setDelimiter',['../classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8',1,'sCMD']]],
+  ['simple_20command_20handler_13',['Simple Command Handler',['../md__r_e_a_d_m_e.html',1,'']]]
 ];
diff --git a/.docs/html/search/all_4.js b/.docs/html/search/all_4.js
index 597bbdd..5592e67 100644
--- a/.docs/html/search/all_4.js
+++ b/.docs/html/search/all_4.js
@@ -1,11 +1,4 @@
 var searchData=
 [
-  ['scmd_0',['SCMD',['../group__s_c_m_d.html',1,'']]],
-  ['scmd_2ecpp_1',['sCMD.cpp',['../s_c_m_d_8cpp.html',1,'']]],
-  ['scmd_2eh_2',['sCMD.h',['../s_c_m_d_8h.html',1,'']]],
-  ['scmd_5faa_3',['sCMD_AA',['../group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164',1,'sCMD.h']]],
-  ['scmd_5fca_4',['sCMD_CA',['../group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613',1,'sCMD.h']]],
-  ['scmd_5fcc_5',['sCMD_CC',['../group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3',1,'sCMD.h']]],
-  ['setdelimiter_6',['setDelimiter',['../class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432',1,'CMDHandler']]],
-  ['simple_20command_20handler_7',['Simple Command Handler',['../md__r_e_a_d_m_e.html',1,'']]]
+  ['_7escmd_0',['~sCMD',['../classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e',1,'sCMD']]]
 ];
diff --git a/.docs/html/search/classes_0.js b/.docs/html/search/classes_0.js
index 77d7a3a..1291839 100644
--- a/.docs/html/search/classes_0.js
+++ b/.docs/html/search/classes_0.js
@@ -1,5 +1,5 @@
 var searchData=
 [
-  ['cmdhandler_0',['CMDHandler',['../class_c_m_d_handler.html',1,'']]],
-  ['cmdlist_1',['CMDList',['../struct_c_m_d_list.html',1,'']]]
+  ['scmd_0',['sCMD',['../classs_c_m_d.html',1,'']]],
+  ['scmdlist_1',['sCMDList',['../structs_c_m_d_list.html',1,'']]]
 ];
diff --git a/.docs/html/search/classes_1.js b/.docs/html/search/classes_1.js
new file mode 100644
index 0000000..8d516a9
--- /dev/null
+++ b/.docs/html/search/classes_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['scmd_0',['sCMD',['../classs_c_m_d.html',1,'']]]
+];
diff --git a/.docs/html/search/enums_0.js b/.docs/html/search/enums_0.js
index 86122e3..ee2900b 100644
--- a/.docs/html/search/enums_0.js
+++ b/.docs/html/search/enums_0.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['scmd_5fdelimiter_5ft_0',['sCMD_delimiter_t',['../group__s_c_m_d.html#gaa0fcdbeaec020e98af1c24f2f9fa199d',1,'sCMD.h']]]
+  ['scmd_5fdel_5ft_0',['sCMD_del_t',['../group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78',1,'sCMD.h']]]
 ];
diff --git a/.docs/html/search/enumvalues_0.js b/.docs/html/search/enumvalues_0.js
index d68f20a..d1567e7 100644
--- a/.docs/html/search/enumvalues_0.js
+++ b/.docs/html/search/enumvalues_0.js
@@ -1,6 +1,6 @@
 var searchData=
 [
-  ['scmd_5fcc_0',['sCMD_CC',['../group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dadbdda4209e48d49b43f4d0b2d22c820a',1,'sCMD.h']]],
-  ['scmd_5fcp_1',['sCMD_CP',['../group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dabdac55d99a08174f11384d30c3a5384f',1,'sCMD.h']]],
-  ['scmd_5fpp_2',['sCMD_PP',['../group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199daa464219d1a3cbcdb1f4ba85d8e9477bf',1,'sCMD.h']]]
+  ['scmd_5faa_0',['sCMD_AA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7',1,'sCMD.h']]],
+  ['scmd_5fca_1',['sCMD_CA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983',1,'sCMD.h']]],
+  ['scmd_5fcc_2',['sCMD_CC',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a',1,'sCMD.h']]]
 ];
diff --git a/.docs/html/search/files_0.js b/.docs/html/search/files_0.js
index 90355e3..9949c31 100644
--- a/.docs/html/search/files_0.js
+++ b/.docs/html/search/files_0.js
@@ -1,5 +1,4 @@
 var searchData=
 [
-  ['scmd_2ecpp_0',['sCMD.cpp',['../s_c_m_d_8cpp.html',1,'']]],
-  ['scmd_2eh_1',['sCMD.h',['../s_c_m_d_8h.html',1,'']]]
+  ['scmd_2eh_0',['sCMD.h',['../s_c_m_d_8h.html',1,'']]]
 ];
diff --git a/.docs/html/search/functions_0.js b/.docs/html/search/functions_0.js
index 4b89e0a..19cc21a 100644
--- a/.docs/html/search/functions_0.js
+++ b/.docs/html/search/functions_0.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['cmdhandler_0',['CMDHandler',['../class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a',1,'CMDHandler']]]
+  ['exe_0',['exe',['../classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95',1,'sCMD']]]
 ];
diff --git a/.docs/html/search/functions_1.js b/.docs/html/search/functions_1.js
index 883476f..ea0aff6 100644
--- a/.docs/html/search/functions_1.js
+++ b/.docs/html/search/functions_1.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['exe_0',['exe',['../class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59',1,'CMDHandler']]]
+  ['getdelimiter_0',['getDelimiter',['../classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86',1,'sCMD']]]
 ];
diff --git a/.docs/html/search/functions_2.js b/.docs/html/search/functions_2.js
index 9331477..89c8f1b 100644
--- a/.docs/html/search/functions_2.js
+++ b/.docs/html/search/functions_2.js
@@ -1,4 +1,5 @@
 var searchData=
 [
-  ['findcmd_0',['findCmd',['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len):&#160;sCMD.cpp'],['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len):&#160;sCMD.cpp']]]
+  ['scmd_0',['sCMD',['../classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5',1,'sCMD']]],
+  ['setdelimiter_1',['setDelimiter',['../classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8',1,'sCMD']]]
 ];
diff --git a/.docs/html/search/functions_3.js b/.docs/html/search/functions_3.js
index c3509f8..5592e67 100644
--- a/.docs/html/search/functions_3.js
+++ b/.docs/html/search/functions_3.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['getdelimiter_0',['getDelimiter',['../class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b',1,'CMDHandler']]]
+  ['_7escmd_0',['~sCMD',['../classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e',1,'sCMD']]]
 ];
diff --git a/.docs/html/search/functions_4.js b/.docs/html/search/functions_4.js
index 7092da0..f350802 100644
--- a/.docs/html/search/functions_4.js
+++ b/.docs/html/search/functions_4.js
@@ -1,4 +1,4 @@
 var searchData=
 [
-  ['setdelimiter_0',['setDelimiter',['../class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432',1,'CMDHandler']]]
+  ['_7ecmdhandler_0',['~CMDHandler',['../class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47',1,'CMDHandler']]]
 ];
diff --git a/.docs/html/search/searchdata.js b/.docs/html/search/searchdata.js
index e3e630c..5803ffc 100644
--- a/.docs/html/search/searchdata.js
+++ b/.docs/html/search/searchdata.js
@@ -1,13 +1,15 @@
 var indexSectionsWithContent =
 {
-  0: "cefgs~",
-  1: "c",
+  0: "cegs~",
+  1: "s",
   2: "s",
-  3: "cefgs~",
+  3: "egs~",
   4: "c",
-  5: "c",
+  5: "cs",
   6: "s",
-  7: "s"
+  7: "s",
+  8: "s",
+  9: "s"
 };
 
 var indexSectionNames =
@@ -18,8 +20,10 @@ var indexSectionNames =
   3: "functions",
   4: "variables",
   5: "typedefs",
-  6: "groups",
-  7: "pages"
+  6: "enums",
+  7: "enumvalues",
+  8: "groups",
+  9: "pages"
 };
 
 var indexSectionLabels =
@@ -30,7 +34,9 @@ var indexSectionLabels =
   3: "Functions",
   4: "Variables",
   5: "Typedefs",
-  6: "Modules",
-  7: "Pages"
+  6: "Enumerations",
+  7: "Enumerator",
+  8: "Modules",
+  9: "Pages"
 };
 
diff --git a/.docs/html/search/typedefs_1.js b/.docs/html/search/typedefs_1.js
new file mode 100644
index 0000000..b4d52b8
--- /dev/null
+++ b/.docs/html/search/typedefs_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+  ['scmdidx_0',['sCMDIdx',['../group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51',1,'sCMD.h']]]
+];
diff --git a/.docs/html/search/variables_0.js b/.docs/html/search/variables_0.js
index 19122da..3f584eb 100644
--- a/.docs/html/search/variables_0.js
+++ b/.docs/html/search/variables_0.js
@@ -1,5 +1,6 @@
 var searchData=
 [
-  ['cmd_0',['cmd',['../struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78',1,'CMDList']]],
-  ['cmdhandler_1',['cmdHandler',['../struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c',1,'CMDList']]]
+  ['cmd_0',['cmd',['../structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d',1,'sCMDList']]],
+  ['cmddescription_1',['cmdDescription',['../structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58',1,'sCMDList']]],
+  ['cmdhandler_2',['cmdHandler',['../structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607',1,'sCMDList']]]
 ];
diff --git a/.docs/html/struct_c_m_d_list-members.html b/.docs/html/struct_c_m_d_list-members.html
index 763318f..fb43b0a 100644
--- a/.docs/html/struct_c_m_d_list-members.html
+++ b/.docs/html/struct_c_m_d_list-members.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r2</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -98,13 +98,14 @@
 <p>This is the complete list of members for <a class="el" href="struct_c_m_d_list.html">CMDList</a>, including all inherited members.</p>
 <table class="directory">
   <tr class="even"><td class="entry"><a class="el" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">cmd</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td><td class="entry"></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae">cmdDescription</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
 </div><!-- doc-content -->
 <!-- start footer part -->
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:20:01 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/struct_c_m_d_list.html b/.docs/html/struct_c_m_d_list.html
index 6ecde0a..2e36c28 100644
--- a/.docs/html/struct_c_m_d_list.html
+++ b/.docs/html/struct_c_m_d_list.html
@@ -26,7 +26,7 @@
  <tbody>
  <tr id="projectrow">
   <td id="projectalign">
-   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r1</span>
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.0r2</span>
    </div>
    <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
   </td>
@@ -98,7 +98,7 @@
 </div><!--header-->
 <div class="contents">
 
-<p>Struct for command.  
+<p>Struct for command list.  
  <a href="struct_c_m_d_list.html#details">More...</a></p>
 
 <p><code>#include &lt;<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>&gt;</code></p>
@@ -111,11 +111,14 @@
 <tr class="memitem:a9caafd87cedc702f14a47a3a4089301c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a></td></tr>
 <tr class="memdesc:a9caafd87cedc702f14a47a3a4089301c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>.  <a href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">More...</a><br /></td></tr>
 <tr class="separator:a9caafd87cedc702f14a47a3a4089301c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af9e8f7efc222908a587b3cc9d5f7a2ae"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae">cmdDescription</a> = &quot;&quot;</td></tr>
+<tr class="memdesc:af9e8f7efc222908a587b3cc9d5f7a2ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command description.  <a href="struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae">More...</a><br /></td></tr>
+<tr class="separator:af9e8f7efc222908a587b3cc9d5f7a2ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p >Struct for command. </p>
+<div class="textblock"><p >Struct for command list. </p>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00070">70</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00110">110</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 </div><h2 class="groupheader">Member Data Documentation</h2>
 <a id="abdbdb8c1725681c7af26692f4e7c7d78" name="abdbdb8c1725681c7af26692f4e7c7d78"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#abdbdb8c1725681c7af26692f4e7c7d78">&#9670;&#160;</a></span>cmd</h2>
@@ -131,7 +134,25 @@ <h2 class="memtitle"><span class="permalink"><a href="#abdbdb8c1725681c7af26692f
 
 <p>Command C-string. </p>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00071">71</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00111">111</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+
+</div>
+</div>
+<a id="af9e8f7efc222908a587b3cc9d5f7a2ae" name="af9e8f7efc222908a587b3cc9d5f7a2ae"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af9e8f7efc222908a587b3cc9d5f7a2ae">&#9670;&#160;</a></span>cmdDescription</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* CMDList::cmdDescription = &quot;&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Command description. </p>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00113">113</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
@@ -149,7 +170,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a9caafd87cedc702f14a47a3a
 
 <p>Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>. </p>
 
-<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00072">72</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00112">112</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
 
 </div>
 </div>
@@ -162,7 +183,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a9caafd87cedc702f14a47a3a
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="struct_c_m_d_list.html">CMDList</a></li>
-    <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:20:01 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
   </ul>
 </div>
 </body>
diff --git a/.docs/html/struct_c_m_d_list.js b/.docs/html/struct_c_m_d_list.js
index a044237..333eaa5 100644
--- a/.docs/html/struct_c_m_d_list.js
+++ b/.docs/html/struct_c_m_d_list.js
@@ -1,5 +1,6 @@
 var struct_c_m_d_list =
 [
     [ "cmd", "struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78", null ],
+    [ "cmdDescription", "struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae", null ],
     [ "cmdHandler", "struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c", null ]
 ];
\ No newline at end of file
diff --git a/.docs/html/structs_c_m_d_list-members.html b/.docs/html/structs_c_m_d_list-members.html
new file mode 100644
index 0000000..37a1e1e
--- /dev/null
+++ b/.docs/html/structs_c_m_d_list-members.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>sCMD: Member List</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
+   </div>
+   <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.5 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(document).ready(function(){initNavTree('structs_c_m_d_list.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div class="header">
+  <div class="headertitle"><div class="title">sCMDList Member List</div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="structs_c_m_d_list.html">sCMDList</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">cmd</a></td><td class="entry"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td><td class="entry"></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">cmdDescription</a></td><td class="entry"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a></td><td class="entry"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/.docs/html/structs_c_m_d_list.html b/.docs/html/structs_c_m_d_list.html
new file mode 100644
index 0000000..6fbdbac
--- /dev/null
+++ b/.docs/html/structs_c_m_d_list.html
@@ -0,0 +1,190 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=11"/>
+<meta name="generator" content="Doxygen 1.9.5"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>sCMD: sCMDList Struct Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="navtree.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="resize.js"></script>
+<script type="text/javascript" src="navtreedata.js"></script>
+<script type="text/javascript" src="navtree.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/searchdata.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript" src="darkmode_toggle.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr id="projectrow">
+  <td id="projectalign">
+   <div id="projectname">sCMD<span id="projectnumber">&#160;v1.1r1</span>
+   </div>
+   <div id="projectbrief">Frameworkless simple command handler written in C++.</div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.9.5 -->
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+var searchBox = new SearchBox("searchBox", "search/",'.html');
+/* @license-end */
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+/* @license-end */
+</script>
+<div id="main-nav"></div>
+</div><!-- top -->
+<div id="side-nav" class="ui-resizable side-nav-resizable">
+  <div id="nav-tree">
+    <div id="nav-tree-contents">
+      <div id="nav-sync" class="sync"></div>
+    </div>
+  </div>
+  <div id="splitbar" style="-moz-user-select:none;" 
+       class="ui-resizable-handle">
+  </div>
+</div>
+<script type="text/javascript">
+/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
+$(document).ready(function(){initNavTree('structs_c_m_d_list.html',''); initResizable(); });
+/* @license-end */
+</script>
+<div id="doc-content">
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+     onmouseover="return searchBox.OnSearchSelectShow()"
+     onmouseout="return searchBox.OnSearchSelectHide()"
+     onkeydown="return searchBox.OnSearchSelectKey(event)">
+</div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<div id="MSearchResults">
+<div class="SRPage">
+<div id="SRIndex">
+<div id="SRResults"></div>
+<div class="SRStatus" id="Loading">Loading...</div>
+<div class="SRStatus" id="Searching">Searching...</div>
+<div class="SRStatus" id="NoMatches">No Matches</div>
+</div>
+</div>
+</div>
+</div>
+
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Public Attributes</a> &#124;
+<a href="structs_c_m_d_list-members.html">List of all members</a>  </div>
+  <div class="headertitle"><div class="title">sCMDList Struct Reference<div class="ingroups"><a class="el" href="group__s_c_m_d.html">SCMD</a></div></div></div>
+</div><!--header-->
+<div class="contents">
+
+<p>Struct for command list.  
+ <a href="structs_c_m_d_list.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>&gt;</code></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
+Public Attributes</h2></td></tr>
+<tr class="memitem:a314d8c24851f01228b2d018ce9d95a9d"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">cmd</a></td></tr>
+<tr class="memdesc:a314d8c24851f01228b2d018ce9d95a9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command C-string.  <a href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">More...</a><br /></td></tr>
+<tr class="separator:a314d8c24851f01228b2d018ce9d95a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ae2d1f15338e4bcc0537e67ea73ed8607"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a></td></tr>
+<tr class="memdesc:ae2d1f15338e4bcc0537e67ea73ed8607"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>.  <a href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">More...</a><br /></td></tr>
+<tr class="separator:ae2d1f15338e4bcc0537e67ea73ed8607"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af3af9bd604038bf7bb98b89d7a302b58"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">cmdDescription</a> = &quot;&quot;</td></tr>
+<tr class="memdesc:af3af9bd604038bf7bb98b89d7a302b58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command description.  <a href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">More...</a><br /></td></tr>
+<tr class="separator:af3af9bd604038bf7bb98b89d7a302b58"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p >Struct for command list. </p>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00110">110</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+</div><h2 class="groupheader">Member Data Documentation</h2>
+<a id="a314d8c24851f01228b2d018ce9d95a9d" name="a314d8c24851f01228b2d018ce9d95a9d"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a314d8c24851f01228b2d018ce9d95a9d">&#9670;&#160;</a></span>cmd</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* sCMDList::cmd</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Command C-string. </p>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00111">111</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+
+</div>
+</div>
+<a id="af3af9bd604038bf7bb98b89d7a302b58" name="af3af9bd604038bf7bb98b89d7a302b58"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af3af9bd604038bf7bb98b89d7a302b58">&#9670;&#160;</a></span>cmdDescription</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* sCMDList::cmdDescription = &quot;&quot;</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Command description. </p>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00113">113</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+
+</div>
+</div>
+<a id="ae2d1f15338e4bcc0537e67ea73ed8607" name="ae2d1f15338e4bcc0537e67ea73ed8607"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ae2d1f15338e4bcc0537e67ea73ed8607">&#9670;&#160;</a></span>cmdHandler</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> sCMDList::cmdHandler</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p>Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>. </p>
+
+<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00112">112</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a></li>
+</ul>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></li>
+    <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li>
+  </ul>
+</div>
+</body>
+</html>
diff --git a/.docs/html/structs_c_m_d_list.js b/.docs/html/structs_c_m_d_list.js
new file mode 100644
index 0000000..e633f1d
--- /dev/null
+++ b/.docs/html/structs_c_m_d_list.js
@@ -0,0 +1,6 @@
+var structs_c_m_d_list =
+[
+    [ "cmd", "structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d", null ],
+    [ "cmdDescription", "structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58", null ],
+    [ "cmdHandler", "structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607", null ]
+];
\ No newline at end of file
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
index 1309512..71a3d66 100644
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -14,7 +14,7 @@
             "cStandard": "c17",
             "cppStandard": "c++17",
             "intelliSenseMode": "gcc-arm",
-            "compilerPath": "${ARM-GCC}\\arm-none-eabi-g++.exe",
+            "compilerPath": "${ARM-GCC}\\arm-none-eabi-gcc.exe",
             "compilerArgs": []
         }
     ],
diff --git a/Doxyfile b/Doxyfile
index f3ff4f8..cba5639 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -48,7 +48,7 @@ PROJECT_NAME           = sCMD
 # could be handy for archiving the generated documentation or if some version
 # control system is used.
 
-PROJECT_NUMBER         = v1.0r1
+PROJECT_NUMBER         = v1.1r1
 
 # Using the PROJECT_BRIEF tag one can provide an optional one line description
 # for a project that appears at the top of each page and should give viewer a
diff --git a/README.md b/README.md
index 22c9736..2dd2cae 100644
--- a/README.md
+++ b/README.md
@@ -23,6 +23,15 @@ Example: `CMD<4> cmd = CMD<4>(list, 2, fallback, ';', ':', ',');` where:
 - `:` is command to arguments delimiter.
 - `,` is argument to argument delimiter.
 
+`list` is an array with commands, handlers and command descriptions.
+```
+CMDList cmdList[] = {
+	SCMD_ADD(help, ""), // No description
+	SCMD_ADD(reset, "Reset the device"),
+	SCMD_ADD(info, "Get device info")
+};
+```
+
 Check library documentation and example codes for more information.
 Library documentation is available at `.docs/html/index.html`.
 Example applications are available at `examples` folder. All examples are made with STM HAL framework.
diff --git a/sCMD.cpp b/sCMD.cpp
deleted file mode 100644
index 71e8472..0000000
--- a/sCMD.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * @file sCMD.cpp
- * @author silvio3105 (www.github.com/silvio3105)
- * @brief Simple Command Handler source file.
- * 
- * @copyright Copyright (c) 2022, silvio3105
- * 
- */
-
-
-/*
-License
-
-Copyright (c) 2022, silvio3105 (www.github.com/silvio3105)
-
-Access and use of this Project and its contents are granted free of charge to any Person.
-The Person is allowed to copy, modify and use The Project and its contents only for non-commercial use.
-Commercial use of this Project and its contents is prohibited.
-Modifying this License and/or sublicensing is prohibited.
-
-THE PROJECT AND ITS CONTENT ARE PROVIDED "AS IS" WITH ALL FAULTS AND WITHOUT EXPRESSED OR IMPLIED WARRANTY.
-THE AUTHOR KEEPS ALL RIGHTS TO CHANGE OR REMOVE THE CONTENTS OF THIS PROJECT WITHOUT PREVIOUS NOTICE.
-THE AUTHOR IS NOT RESPONSIBLE FOR DAMAGE OF ANY KIND OR LIABILITY CAUSED BY USING THE CONTENTS OF THIS PROJECT.
-
-This License shall be included in all methodal textual files.
-*/
-
-
-// ----- INCLUDE FILES
-#include			"sCMD.h"
-
-
-// ----- FUNCTION DECLARATIONS
-/**
- * @brief Find \c input command in \c cmdList
- * 
- * @param input Pointer to command C-string.
- * @param cmdList Pointer to external command list.
- * @param len Length of \c cmdList
- * @return \c -1 if command is not found.
- * @return Index of command in \c cmdList if command is found.
- */
-int16_t findCmd(const char* input, const CMDList* cmdList, const uint16_t len);
-
-
-// ----- FUNCTION DEFINITIONS
-int16_t findCmd(const char* input, const CMDList* cmdList, const uint16_t len)
-{
-	for (uint16_t i = 0; i < len; i++)
-	{
-		// If command is found, return index
-		if (sStd::cmp(input, cmdList[i].cmd) == SSTD_OK) return i;
-	}
-
-	return -1;
-}
-
-// END WITH NEW LINE
diff --git a/sCMD.h b/sCMD.h
index 64c164e..51c8873 100644
--- a/sCMD.h
+++ b/sCMD.h
@@ -44,11 +44,33 @@ This License shall be included in all methodal textual files.
 */
 
 
-// ----- MACRO DEFINITIONS
-// DELIMITER TYPES
-#define sCMD_CC			0 /**< @brief Delimiter between commands. */
-#define sCMD_CA			1 /**< @brief Delimiter between command and arguments. */
-#define sCMD_AA			2 /**< @brief Delimiter between arguments. */
+// ----- CODE SNIPPETS
+/**
+ * @brief Get command handler function for \c _cmd
+ * 
+ * @param _cmd Command name.
+ */
+#define SCMD_GET(_cmd) \
+	sCMD##_cmd
+
+/**
+ * @brief Code snippet for adding command into command list.
+ * 
+ * @param _cmd Command name.
+ * @param _description Command description.
+ */
+#define SCMD_ADD(_cmd, _description) \
+	{ #_cmd, SCMD_GET(_cmd), _description }
+
+/**
+ * @brief Code snippet for creating command handler declaration and definition.
+ * 
+ * @param _cmd Command name.
+ * 
+ * @note Command handler is static.
+ */
+#define SCMD_HANDLER(_cmd) \
+	static void SCMD_GET(_cmd)(const char** args, const uint8_t argCnt)
 
 
 // ----- TYPEDEFS
@@ -61,39 +83,45 @@ This License shall be included in all methodal textual files.
  */
 typedef void (*cmdH)(const char** args, const uint8_t argCnt);
 
+/**
+ * @brief Typedef for command index.
+ * 
+ */
+typedef int16_t sCMDIdx;
 
-// ----- STRUCTS
+
+// ----- ENUMS
 /**
- * @brief Struct for command.
+ * @brief Enum for delimiter types.
  * 
  */
-struct CMDList {
-	const char* cmd; /**< @brief Command C-string. */
-	const cmdH cmdHandler; /**< @brief Pointer to command function. See \ref cmdH */
+enum sCMD_del_t : uint8_t {
+	sCMD_CC = 0, /**< @brief Delimiter between commands. */
+	sCMD_CA, /**< @brief Delimiter between command and argument. */
+	sCMD_AA /**< @brief Delimiter between arguments inside command. */
 };
 
 
-// ----- FUNCTION DECLARATIONS
+// ----- STRUCTS
 /**
- * @brief Find \c input command in \c cmdList
+ * @brief Struct for command list.
  * 
- * @param input Pointer to command C-string.
- * @param cmdList Pointer to external command list.
- * @param len Length of \c cmdList
- * @return \c -1 if command is not found.
- * @return Index of command in \c cmdList if command is found.
  */
-int16_t findCmd(const char* input, const CMDList* cmdList, const uint16_t len);
+struct sCMDList {
+	const char* cmd; /**< @brief Command C-string. */
+	const cmdH cmdHandler; /**< @brief Pointer to command function. See \ref cmdH */
+	const char* cmdDescription = ""; /**< @brief Command description. */
+};
 
 
 // ----- CLASSES
 /**
- * @brief Class for command hanlder.
+ * @brief Class for command handler.
  * 
  * @tparam max Maximum number of arguments command handler can handle for one command.
  */
 template <uint8_t max>
-class CMDHandler {
+class sCMD {
 	// PUBLIC STUFF
 	public:
 	// CONSTRUCTOR & DECONSTRUCTOR METHOD DECLARATIONS
@@ -108,7 +136,7 @@ class CMDHandler {
 	 * @param aaDelimiter Delimiter character between arguments. Default delimiter is \c ,
 	 * @return No return value.
 	 */
-	CMDHandler(const CMDList* list, uint16_t len, cmdH fallback,  char ccDelimiter = ';', char caDelimiter = ',', char aaDelimiter = ',')
+	sCMD(const sCMDList* list, uint16_t len, cmdH fallback,  char ccDelimiter = ';', char caDelimiter = ',', char aaDelimiter = ',')
 	{
 		// Set command list
 		cmdList = list;
@@ -118,9 +146,9 @@ class CMDHandler {
 		cmdFallback = fallback;
 
 		// Set delimiters
-		setDelimiter(sCMD_CC, ccDelimiter);
-		setDelimiter(sCMD_CA, caDelimiter);
-		setDelimiter(sCMD_AA, aaDelimiter);		
+		setDelimiter(sCMD_del_t::sCMD_CC, ccDelimiter);
+		setDelimiter(sCMD_del_t::sCMD_CA, caDelimiter);
+		setDelimiter(sCMD_del_t::sCMD_AA, aaDelimiter);		
 	}
 
 	/**
@@ -128,7 +156,7 @@ class CMDHandler {
 	 * 
 	 * @return No return value.
 	 */
-	~CMDHandler(void)
+	~sCMD(void)
 	{
 		// Reset command list
 		cmdList = nullptr;
@@ -138,11 +166,12 @@ class CMDHandler {
 		cmdFallback = nullptr;
 
 		// Reset delimiters
-		setDelimiter(sCMD_CC, '\0');
-		setDelimiter(sCMD_CA, '\0');
-		setDelimiter(sCMD_AA, '\0');		
+		setDelimiter(sCMD_del_t::sCMD_CC, '\0');
+		setDelimiter(sCMD_del_t::sCMD_CA, '\0');
+		setDelimiter(sCMD_del_t::sCMD_AA, '\0');		
 	}
 
+
 	// METHOD DECLARATIONS
 	/**
 	 * @brief Parse and execute input C-string.
@@ -160,7 +189,7 @@ class CMDHandler {
 		char* nextArg = nullptr;
 		char* currCmd = nullptr;
 		char* currArg = nullptr;	
-		int16_t cmdIdx = -1;
+		sCMDIdx idx = -1;
 		uint8_t argCnt = 0;
 		uint8_t cmdCnt = 0;
 
@@ -214,14 +243,14 @@ class CMDHandler {
 			if (*currCmd)
 			{
 				// Find command index in command list
-				cmdIdx = findCmd(currCmd, cmdList, cmdListLen);
+				idx = findCmd(currCmd);
 		
 				// Call fallback handler if command was not found
-				if (cmdIdx == -1) cmdFallback((const char**)currCmd, 0);
+				if (idx == -1) cmdFallback((const char**)currCmd, 0);
 				else // Command is found
 				{		
 					// Call command arguments
-					cmdList[cmdIdx].cmdHandler((const char**)args, argCnt);
+					cmdList[idx].cmdHandler((const char**)args, argCnt);
 
 					// Increase command counter
 					cmdCnt++;
@@ -237,11 +266,11 @@ class CMDHandler {
 	/**
 	 * @brief Set delimiter character.
 	 * 
-	 * @param type Delimiter type.
-	 * @param del Delimiter character.
+	 * @param type Delimiter type. See \ref sCMD_del_t
+	 * @param del New delimiter.
 	 * @return No return value.
 	 */
-	inline void setDelimiter(uint8_t type, char del)
+	inline void setDelimiter(sCMD_del_t type, char del)
 	{
 		// Set delimiter for the type
 		delimiter[type] = del;
@@ -250,10 +279,10 @@ class CMDHandler {
 	/**
 	 * @brief Get delimiter character.
 	 * 
-	 * @param type Delimiter type.
+	 * @param type Delimiter type. See \ref sCMD_del_t
 	 * @return Configured delimiter.
 	 */
-	inline char getDelimiter(uint8_t type) const
+	inline char getDelimiter(sCMD_del_t type) const
 	{
 		// Get delimiter for the type
 		return delimiter[type];
@@ -270,11 +299,31 @@ class CMDHandler {
 	 * Function parameter \c args points to command C-string that does not exist. See \ref cmdH
 	 */
 	cmdH cmdFallback = nullptr;	
-	const CMDList* cmdList; /**< @brief Pointer to external list of commands.  */
+	const sCMDList* cmdList; /**< @brief Pointer to external list of commands.  */
 	uint8_t maxArgs = max; /**< @brief Length of \ref args array. */
 	char delimiter[3] = { '\0', '\0', '\0' }; /**< @brief Array with CC, CA and AA delimiters. */
 	char* args[max]; /**< @brief Pointer to all command's arguments. */	
 	uint16_t cmdListLen = 0; /**< @brief Length of \ref cmdList */
+
+	// METHODS
+	/**
+	 * @brief Find command \c cmd in \ref cmdList
+	 * 
+	 * @param cmd Command to find. Must end with \c NULL char
+	 * @return \c -1 if command is not found.
+	 * @return Command index in \ref cmdList
+	 */
+	sCMDIdx findCmd(const char* cmd) const
+	{
+		for (uint16_t i = 0; i < cmdListLen; i++)
+		{
+			// If command is found, return index
+			if (sStd::cmp(cmd, cmdList[i].cmd) == SSTD_OK) return i;
+		}
+
+		// Command is not found
+		return -1;
+	}	
 };