diff --git a/check_cpu b/check_cpu
index 9e6687b5a70af690541b46dacb95d39116903cfb..153f126bd81a3c1ebeacb48300a1a4161a7c875b 100755
--- a/check_cpu
+++ b/check_cpu
@@ -16,13 +16,16 @@
 # 2021-10-28  v1.5  <axel.hahn@iml.unibe.ch> Use 2nd update of top
 # 2021-12-10  v1.6  <axel.hahn@iml.unibe.ch> show processes with status D to find cpu waits
 # 2022-03-09  v1.7  <axel.hahn@iml.unibe.ch> show most cpu intensive processes
+# 2022-03-10  v1.8  <axel.hahn@iml.unibe.ch> add cli param -p; update help
 # ======================================================================
 
 
-. `dirname $0`/inc_pluginfunctions
-tmpfile=/tmp/check_cpu_$$
+. $(dirname $0)/inc_pluginfunctions
+
+self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] )
+self_APPVERSION=1.8
 
-iMinCpuUsageToShowProcesses=30
+tmpfile=/tmp/check_cpu_$$
 
 # ----------------------------------------------------------------------
 # functions
@@ -32,17 +35,18 @@ function showHelp(){
 cat <<EOF
 ______________________________________________________________________
 
-CHECK_CPU check cpu usage and cpu wait v1.7
+$self_APPNAME 
+v$self_APPVERSION
 
 (c) Institute for Medical Education - Univerity of Bern
 Licence: GNU GPL 3
 ______________________________________________________________________
 
+check cpu usage and cpu wait
 Cpu infos are taken from output of top command.
 
-
 SYNTAX:
-`basename $0` [-w WARN_LIMIT] [-c CRITICAL_LIMIT] [-i CRITICAL_IO_WAIT]
+$(basename $0) [-w WARN_LIMIT] [-c CRITICAL_LIMIT] [-i CRITICAL_IO_WAIT] [-p PROCESS_LIMIT]
 
 OPTIONS:
 
@@ -51,6 +55,9 @@ OPTIONS:
 
     -i VALUE       io wait critical level   (default: 50)
 
+    -p VALUE       show process info with highest cpu consumption if 
+                   usage is > NN %; default: 50
+
     -h or --help   show this help.
 
 PARAMETERS:
@@ -58,7 +65,7 @@ PARAMETERS:
     None.
 
 EXAMPLE:
-`basename $0` -w 60 -c 80 -i 40
+$(basename $0) -w 60 -c 80 -i 40
 
 EOF
 }
@@ -79,11 +86,15 @@ case "$1" in
     *)
 esac
 
+# ----------------------------------------------------------------------
 # set default / override from command line params
-typeset -i iWarnLimit=`     ph.getValueWithParam 75 w "$@"`
-typeset -i iCriticalLimit=` ph.getValueWithParam 90 c "$@"`
-typeset -i iCriticalWait=`  ph.getValueWithParam 50 i "$@"`
+typeset -i iWarnLimit=$(     ph.getValueWithParam 75 w "$@")
+typeset -i iCriticalLimit=$( ph.getValueWithParam 90 c "$@")
+typeset -i iCriticalWait=$(  ph.getValueWithParam 50 i "$@")
+typeset -i iMinCpuUsageToShowProcesses=$(  ph.getValueWithParam 50 p "$@")
 
+# ----------------------------------------------------------------------
+# get data
 
 # get cpu status i.e.
 # %Cpu(s): 33.3 us,  9.5 sy,  0.0 ni, 57.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
@@ -99,15 +110,15 @@ typeset -i iCriticalWait=`  ph.getValueWithParam 50 i "$@"`
 # FIX read cpu from 2nd output of top
 top -b -n 2 -d 0.1 | grep -i "^\%Cpu" | tail -1 >$tmpfile
 
-cpuUser=`   awk '{ print $2 }' $tmpfile`
-cpuSystem=` awk '{ print $4 }' $tmpfile`
-cpuNice=`   awk '{ print $6 }' $tmpfile`
-cpuIdle=`   awk '{ print $8 }' $tmpfile`
-cpuWait=`   awk '{ print $10 }' $tmpfile`
-cpuHi=`     awk '{ print $12 }' $tmpfile`
-cpuSi=`     awk '{ print $14 }' $tmpfile`
-cpuSt=`     awk '{ print $16 }' $tmpfile`
-cpuNonIdle=`echo 100-$cpuIdle | bc`
+cpuUser=$(   awk '{ print $2 }' $tmpfile)
+cpuSystem=$( awk '{ print $4 }' $tmpfile)
+cpuNice=$(   awk '{ print $6 }' $tmpfile)
+cpuIdle=$(   awk '{ print $8 }' $tmpfile)
+cpuWait=$(   awk '{ print $10 }' $tmpfile)
+cpuHi=$(     awk '{ print $12 }' $tmpfile)
+cpuSi=$(     awk '{ print $14 }' $tmpfile)
+cpuSt=$(     awk '{ print $16 }' $tmpfile)
+cpuNonIdle=$(echo 100-$cpuIdle | bc)
 
 rm -f $tmpfile
 
@@ -128,6 +139,9 @@ else
   fi
 fi
 
+# ----------------------------------------------------------------------
+# output
+
 # --- status output
 ph.status "CPU-USAGE [%] ${cpuNonIdle} ... user: ${cpuUser} - system: ${cpuSystem} - idle: ${cpuIdle} - wait: ${cpuWait}"
 
diff --git a/check_memory b/check_memory
index 9db193559f694f66c28460868589a329f83d37c3..a29cc024b55323b79b3446e51a99d53a51033a61 100755
--- a/check_memory
+++ b/check_memory
@@ -23,12 +23,14 @@
 # 2020-07-16  v1.4  <axel.hahn@iml.unibe.ch> FIX: add unit MB in the performance data (see #3939)
 # 2021-03-24  v1.5  <axel.hahn@iml.unibe.ch> increase Swap critical limit 5 --> 50
 # 2022-03-09  v1.6  <axel.hahn@iml.unibe.ch> show most ram intensive processes
+# 2022-03-10  v1.7  <axel.hahn@iml.unibe.ch> add cli param -p; update help
 # ======================================================================
 
 
-. `dirname $0`/inc_pluginfunctions
+. $(dirname $0)/inc_pluginfunctions
 
-iMinRamUsageToShowProcesses=30
+self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] )
+self_APPVERSION=1.7
 
 # ----------------------------------------------------------------------
 # FUNCTIONS
@@ -38,58 +40,96 @@ iMinRamUsageToShowProcesses=30
 # /proc/meminfo conatains values in kB - it is divided by 1024
 # --> return values are MB
 function getMemvalue(){
-    echo `grep "^$1:" /proc/meminfo | awk '{ print $2 }' ` / 1024 | bc
+    echo $( grep "^$1:" /proc/meminfo | awk '{ print $2 }' ) / 1024 | bc
 }
 
+function showHelp(){
+cat <<EOF
+______________________________________________________________________
+
+$self_APPNAME 
+v$self_APPVERSION
+
+(c) Institute for Medical Education - Univerity of Bern
+Licence: GNU GPL 3
+______________________________________________________________________
+
+Check memory usage incl. free, used and total memory.
+On higher memory usage the process table with top 5 top consumers will 
+be shown.
+
+SYNTAX:
+$(basename $0) [-w WARN_LIMIT] [-c CRITICAL_LIMIT] [-s SWAP_LIMIT] [-p PROCESS_LIMIT] [-h]
+
+OPTIONS:
+    -w VALUE   Warning level for RAM usage [%]; default: 75
+    -c VALUE   Critical level for RAM usage; default: 90
+
+    -s VALUE   Critical level for SWAP usage; default: 50
+    -p VALUE   show process info with highest memory consumption if 
+               usage is > NN %; default: 50
+
+    -h or --help   show this help.
+
+PARAMETERS:
+
+    none
+
+EXAMPLE:
+$(basename $0) -w 90 -c 95 -p 70
+
+EOF
+}
 # ----------------------------------------------------------------------
 # MAIN
 # ----------------------------------------------------------------------
 
+case "$1" in
+    "--help"|"-h")
+        showHelp
+        exit 0
+        ;;
+    *)
+esac
+
 # --- check required tools
 ph.require bc
 
-# --- check param -h
-if [ "$1" = "-h" ]; then
-    echo "
-    usage: $0 [ -w value -c value -h ]
-
-        -w  Warning level for RAM usage [%]; default: 75
-        -c  Critical level for RAM usage; default: 90
-        -s  Critical level for SWAP usage; default: 50
-        -h  this help
-    "
-    exit 0
-fi
-
+# ----------------------------------------------------------------------
 # set default / override from command line params
-typeset -i iWarnLimit=`     ph.getValueWithParam 75 w "$@"`
-typeset -i iCriticalLimit=` ph.getValueWithParam 90 c "$@"`
-typeset -i iCriticalSwap=`  ph.getValueWithParam 50 s "$@"`
+typeset -i iWarnLimit=$(     ph.getValueWithParam 75 w "$@")
+typeset -i iCriticalLimit=$( ph.getValueWithParam 90 c "$@")
+typeset -i iCriticalSwap=$(  ph.getValueWithParam 50 s "$@")
+typeset -i iMinRamUsageToShowProcesses=$(  ph.getValueWithParam 50 p "$@")
+
+# ----------------------------------------------------------------------
+# read values
 
 # --- RAM
-typeset -i ramTotal=`    getMemvalue MemTotal`
-typeset -i ramAvail=`    getMemvalue MemAvailable`
+typeset -i ramTotal=$(    getMemvalue MemTotal)
+typeset -i ramAvail=$(    getMemvalue MemAvailable)
 typeset -i ramUsed=$ramTotal-$ramAvail
 
-typeset -i ramFree=`     getMemvalue MemFree`
-typeset -i ramBuffers=`  getMemvalue Buffers`
-typeset -i ramCached=`   getMemvalue Cached`
-typeset -i ramSReclaim=` getMemvalue SReclaimable`
+typeset -i ramFree=$(     getMemvalue MemFree)
+typeset -i ramBuffers=$(  getMemvalue Buffers)
+typeset -i ramCached=$(   getMemvalue Cached)
+typeset -i ramSReclaim=$( getMemvalue SReclaimable)
 
-typeset -i ramUsage=`echo "($ramUsed) *100 / $ramTotal " | bc`
+typeset -i ramUsage=$(echo "($ramUsed) *100 / $ramTotal " | bc)
 
 # --- Swap
-typeset -i swapTotal=`   getMemvalue SwapTotal`
-typeset -i swapFree=`    getMemvalue SwapFree`
-typeset -i swapCached=`  getMemvalue SwapCached`
+typeset -i swapTotal=$(   getMemvalue SwapTotal)
+typeset -i swapFree=$(    getMemvalue SwapFree)
+typeset -i swapCached=$(  getMemvalue SwapCached)
 
 typeset -i swapUsage=0
 if [ $swapTotal -gt 0 ]; then
-    swapUsage=`echo "($swapCached)*100 / $swapTotal " | bc`
+    swapUsage=$(echo "($swapCached)*100 / $swapTotal " | bc)
 fi
 
 
-# --- set status
+# ----------------------------------------------------------------------
+# set status
 ph.setStatusByLimit $ramUsage $iWarnLimit $iCriticalLimit
 # if [ $swapCached -gt 0 ]; then
 if [ $swapUsage -ge $iCriticalSwap ]; then
@@ -102,6 +142,9 @@ else
     ph.status "RAM usage $ramUsage % of $ramTotal MB (machine has no Swap)"
 fi
 
+# ----------------------------------------------------------------------
+# output
+
 # --- show details
 echo
 cat /proc/meminfo | egrep "^(Mem|Cache|Buffers|Swap|Slab|SReclaimable)"