diff --git a/check_backup_one b/check_backup_one
index 316b37e5f8b65ea4107ed89e513698acc7b6be57..4a11aff742d0cfb6955c01641099d6c406b46967 100755
--- a/check_backup_one
+++ b/check_backup_one
@@ -1,17 +1,15 @@
 #!/bin/bash
 # ======================================================================
 #
-# WORK IN PROGRESS
+# Check IML BACKUP SERVER
 #
-# Check ONE BACKUP connection count
-#
-# requirements access to storage_helper.sh
-# ls -ld /opt/imlbackup/server/
-# drwxr-x--- 3 imlbackup imlbackup 4096 Jul 27 06:25 /opt/imlbackup/server/
+# requires access to storage_helper.sh
+# in /opt/imlbackup/server/
 #
 # ----------------------------------------------------------------------
 # 2020-07-27  v0.x  <axel.hahn@iml.unibe.ch>
 # 2023-12-20  v0.2  <axel.hahn@iml.unibe.ch>
+# 2023-12-21  v1.0  <axel.hahn@iml.unibe.ch>  first version
 # ======================================================================
 
 
@@ -37,7 +35,7 @@ You can get the count of connections or the status of server backup.
 See https://os-docs.iml.unibe.ch/iml-backup-server/
 
 SYNTAX:
-$_self [-d DIRECTORY]
+$_self [-d DIRECTORY] -m MODE
 
 OPTIONS:
     -h or --help   show this help.
@@ -55,7 +53,15 @@ $_self -m backupstatus
 EOF
 }
 
+function _getServerOfStatus(){
+    local _key="$1"
+    local _data="$2"
+    grep "$_key .*| [0-9].* |" <<< "$_data"
+}
 
+function _getStatusCount(){
+    _getServerOfStatus "$1" "$2" | wc -l
+}
 # ----------------------------------------------------------------------
 # MAIN
 # ----------------------------------------------------------------------
@@ -74,13 +80,13 @@ while [[ "$#" -gt 0 ]]; do case $1 in
 esac; done
 
 if [ -z "$sMode" ]; then
-    ph.abort "ERROR: The mode was not set. Use parameter -m."
+    ph.abort "ERROR: The mode was not set. Use parameter -m for it. Get help wit -h"
 fi
 
 myscript="$sInstalldir/$sScript"
 
 if [ ! -x "$myscript" ]; then
-    ph.abort "UNKNOWN: $myscript is not available / executable. Use -d to fix the installation dir."
+    ph.abort "UNKNOWN: $myscript is not available / executable. Use -d to fix the installation dir. Get help wit -h"
 fi
 
 # --- read data
@@ -91,12 +97,40 @@ case "$sMode" in
         typeset -i iTotal;   iTotal=$(  grep "^total : " <<< "$data" | cut -f 2 -d ":" | awk '{ print $1 }' )
         typeset -i iErrors;  iErrors=$( grep "^errors: " <<< "$data" | cut -f 2 -d ":")
 
+        typeset -i iOK;         iOK=$(         _getStatusCount "\." "$data" )
+        typeset -i iNotStarted; iNotStarted=$( _getStatusCount "\?" "$data")
+        typeset -i iDisable;    iDisable=$(    _getStatusCount "D"  "$data" )
+        typeset -i iRunning;    iRunning=$(    _getStatusCount "R"  "$data")
+
         if [ $iErrors -gt 0 ]; then
             ph.setStatus critical
         fi
-        ph.status "Server Backups - $iTotal server - $iErrors errors"
-        echo "$data" | tr '|' ':'
-
+        if [ $iNotStarted -eq $iTotal ]; then
+            ph.setStatus unknown
+        fi
+        ph.status "Server Backups - $iTotal servers in backup - $iErrors errors - $iDisable disbled - $iRunning running"
+        echo List of server backups grouped by status
+        echo
+        (
+            # draw 1st line with table header
+            echo "$data" | grep "server.*start.*end"
+            echo
+
+            # show servers grouped by status
+            for mystatus in E D R "\?" D "\."
+            do
+                _getServerOfStatus "$mystatus" "$data"
+            done
+            echo -e "\e[0m"
+            echo "$data" | grep "server.*start.*end"
+            echo
+        ) | tr '|' ':'
+
+        ph.perfadd "notstarted"   "${iNotStarted}"   "" "" 0 $iTotal
+        ph.perfadd "disabled"     "${iDisable}"      "" "" 0 $iTotal
+        ph.perfadd "ok"           "${iOK}"           "" "" 0 $iTotal
+        ph.perfadd "running"      "${iRunning}"      "" "" 0 $iTotal
+        ph.perfadd "error"        "${iErrors}"       "" "" 0 $iTotal
         ;;
     "status")
         typeset -i iRunning; iRunning=$( grep "STATUS" <<< "$data" | cut -f 2 -d " ")