diff --git a/public_html/classes/render-adminlte.class.php b/public_html/classes/render-adminlte.class.php
index 7ee43120fa838536474c539be315d03f14a2e67b..72f2e76b16ee60ab361530ccb858634633151439 100755
--- a/public_html/classes/render-adminlte.class.php
+++ b/public_html/classes/render-adminlte.class.php
@@ -158,26 +158,6 @@ class renderadminlte {
     // 
     // ----------------------------------------------------------------------
     
-    /**
-     * verify if an item has a correct value
-     * it returns false if a key is not defined to be checked
-     * it returns true if it was validated successfully
-     * it dies with an errror, if a value check failed
-     * 
-     * @param string  $sType      type; key in $_aValidItems; one of bgcolor|color|type|size
-     * @param string  $sValue     value to check
-     * @param string  $sReferrer  optional: method that called this function
-     */
-    protected function _DELETE_ME___checkValue($sType, $sValue, $sReferrer=false){
-        if (!$sValue || !array_key_exists($sType, $this->_aValidItems)){
-            return false;
-        }
-        if(array_search($sValue, $this->_aValidItems[$sType])===false){
-            echo "ERROR: ".($sReferrer ? $sReferrer.' - ' : '')."value [$sValue] is not a valid for type [$sType]; it must be one of ".implode("|", $this->_aValidItems[$sType]).'<br>';
-        }
-        return true;
-    }
-
     /**
      * used in cosntructor
      * initialize all element definitions
@@ -580,13 +560,16 @@ class renderadminlte {
             $iCounter=0;
         }
         
-        // special menu entry: horizontal bar (label is "-")
-        if($aLink['label']=='-'){
-            return '<div class="dropdown-divider"></div>';
-        }
-        // special menu entry: hamburger menu item (label is "=")
-        if($aLink['label']=='='){
-            return '<li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a></li>';
+        switch ($aLink['label']) {
+            // special menu entry: horizontal bar (label is "-")
+            case '-': return '<div class="dropdown-divider"></div>'; break;
+
+            // special menu entry: hamburger menu item (label is "=")
+            case '=': return '<li class="nav-item"><a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a></li>'; break;
+
+            // special menu entry: hamburger menu item (label is "|")
+            // requires css: .navbar-nav li.divider{border-left: 1px solid rgba(0,0,0,0.2);}
+            case '|': return '<li class="divider"></li>'; break;
         }
 
         $aChildren=isset($aLink['children']) && is_array($aLink['children']) && count($aLink['children']) ? $aLink['children'] : false;
@@ -670,9 +653,16 @@ class renderadminlte {
      * @param  array  $aUlOptions  array of html attrubutes for wrapping UL tag
      * @return string
      */
-    public function getTopNavigation($aNavItems, $aUlOptions=['class'=>'navbar-nav']){
+    public function getTopNavigation($aNavItems, $aUlOptions=false, $aNavItemsRight=[], $aUlOptionsRight=false){
         // array_unshift($aNavItems, ['class'=>'nav-link', 'data-widget'=>'pushmenu', 'href'=>'#', 'role'=>'button', 'label'=>'<i class="fa-solid fa-bars"></i>']);
-        return $this->addWrapper('ul', $aUlOptions, $this->getNavItems($aNavItems));
+        $aUlOptLeft=$aUlOptions ? $aUlOptions : ['class'=>'navbar-nav'];
+        $aUlOptRight=$aUlOptionsRight ? $aUlOptionsRight : ['class'=>'navbar-nav ml-auto'];
+        return $this->addWrapper('ul', $aUlOptLeft, $this->getNavItems($aNavItems))
+            .(count($aNavItemsRight)
+                ? $this->addWrapper('ul', $aUlOptRight, $this->getNavItems($aNavItemsRight))
+                : ''
+            )
+            ;
     }
 
     // ----------------------------------------------------------------------
@@ -1085,7 +1075,7 @@ class renderadminlte {
 
         // print_r($aOptions);
 
-        $sVariantPrefix=$aVariants[$aOptions['variant']] ? $aVariants[$aOptions['variant']] : $aVariants['default'];
+        $sVariantPrefix=isset($aVariants[$aOptions['variant']]) ? $aVariants[$aOptions['variant']] : $aVariants['default'];
         $sClass='card'
                 . $this->_addClassValue($aOptions['type'],    $sVariantPrefix)
                 .($aOptions['shadow'] && isset($this->_aValueMappings['shadow'][$aOptions['shadow']]) 
@@ -1106,10 +1096,13 @@ class renderadminlte {
             $aOptions['tools'].=($aOptions[$sTool] ? $sHtml : '');
         }
         // build parts of the card
-        $sCardHeader=$this->addWrapper('div', ['class'=>'card-header'],
+        $sCardHeader=$aOptions['title'] 
+            ? $this->addWrapper('div', ['class'=>'card-header'],
             $this->_tag('h3', ['class'=>'card-title', 'label'=>$aOptions['title']])
             . ($aOptions['tools'] ? $this->_tag('div', ['class'=>'card-tools', 'label'=>$aOptions['tools']]) : '')
-        );
+            )
+            : ''
+            ;
 
         $sCardBody=$this->_tag('div', ['class'=>'card-body', 'label'=>$aOptions['text']]);
         $sCardFooter=$aOptions['footer'] ? $this->_tag('div', ['class'=>'card-footer', 'label'=>$aOptions['footer']]) : '';
@@ -1372,7 +1365,6 @@ class renderadminlte {
         if( ! isset($aOptions['tabs']) || ! is_array($aOptions['tabs']) ){
             return false;
         }
-        static $iTabCounter;
         if (!isset($iTabCounter)){
             $iTabCounter=1;
         } else {