diff --git a/plugins/localdump/couchdb2.sh b/plugins/localdump/couchdb2.sh
index 9119fc58d83a315e55cc1c50a74872acd624c401..653efcef62f35cf12e663843294d137544bedd91 100755
--- a/plugins/localdump/couchdb2.sh
+++ b/plugins/localdump/couchdb2.sh
@@ -60,42 +60,42 @@ CFGDIR=~/.iml_backup/couchdb2
 # param  string  relative url, i.e. _all_dbs or _stats
 # param  string  optional: data for POST|PUT requests
 function _couchapi(){
-  local method=$1
-  local apiurl=$2
-  # local outfile=$3
-  local data=$3
-
-  sParams=
-  # sParams="$sParams -u ${couchdbuser}:${couchdbpw}"
-  sParams="$sParams -X ${method}"
-  sParams="$sParams ${COUCH_URL}${apiurl}"
-  # if [ ! -z "$outfile" ]; then
-  #   sParams="$sParams -o ${outfile}"
-  # fi
-  if [ -n "$data" ]; then
-    sParams="$sParams -d ${data}"
-  fi
-  curl $sParams 2>/dev/null
+    local method=$1
+    local apiurl=$2
+    # local outfile=$3
+    local data=$3
+
+    sParams=
+    # sParams="$sParams -u ${couchdbuser}:${couchdbpw}"
+    sParams="$sParams -X ${method}"
+    sParams="$sParams ${COUCH_URL}${apiurl}"
+    # if [ ! -z "$outfile" ]; then
+    #   sParams="$sParams -o ${outfile}"
+    # fi
+    if [ -n "$data" ]; then
+        sParams="$sParams -d ${data}"
+    fi
+    curl $sParams 2>/dev/null
 }
 
 function _getDblist(){
-   _couchapi GET _all_dbs | sed 's#\"#\n#g' | grep -Ev "^(\[|\,|\])$" | grep -v _replicator | grep -v _global_changes
+    _couchapi GET _all_dbs | sed 's#\"#\n#g' | grep -Ev "^(\[|\,|\])$" | grep -v _replicator | grep -v _global_changes
 }
 
 # get count of active curl prozesses
 function curlCount(){
-  ps -ef | grep -v grep | grep "curl" | wc -l
+    ps -ef | grep -v grep | grep "curl" | wc -l
 }
 
 # wait until min N curl prozesses exist
 function wait4curlcount(){
-  typeset -i local iContinue
-  typeset -i local iCount
+    typeset -i local iContinue
+    typeset -i local iCount
 
-  iContinue=${1:-0}
-  iCount=$( curlCount )
+    iContinue=${1:-0}
+    iCount=$( curlCount )
 
-  test $iCount -gt $iContinue && wait4curlcount $iContinue
+    test $iCount -gt $iContinue && wait4curlcount $iContinue
 }
 
 # optimized curl requests to get metadata from all databases
@@ -106,70 +106,35 @@ function wait4curlcount(){
 # param  integer  iParallel   count of curl processes
 # param  string   dblistfile  path+file to list of database
 function reqCombined(){
-  local iChunksize; typeset -i iChunksize; iChunksize=$1
-  local iParallel;  typeset -i iParallel;  iParallel=$2
-  local dblistfile;                        dblistfile="$3"
-
-  typeset -i iCounter=0
-  cmdline=
-
-  for mydb in $( cat $dblistfile )
-  do 
-
-      iCounter+=1
-      test -n "$cmdline" && cmdline+=" -: "
-      cmdline+="${COUCH_URL}${mydb} "
-
-      if [ $iCounter -ge $iChunksize ]; then
+    local iChunksize; typeset -i iChunksize; iChunksize=$1
+    local iParallel;  typeset -i iParallel;  iParallel=$2
+    local dblistfile;                        dblistfile="$3"
 
-          curl -s $cmdline &
+    typeset -i iCounter=0
+    cmdline=
 
-          # wait untile count of curl proecses is lower maximum
-          wait4curlcount $iParallel
+    for mydb in $( cat $dblistfile )
+    do 
 
-          iCounter=0
-          cmdline=
-      fi
-
-  done
-  test -n "${cmdline}" && curl -s $cmdline &
-
-  wait4curlcount 0
-}
+        iCounter+=1
+        test -n "$cmdline" && cmdline+=" -: "
+        cmdline+="${COUCH_URL}${mydb} "
 
+        if [ $iCounter -ge $iChunksize ]; then
 
+            curl -s $cmdline &
 
-# ---------- CONFIG/ INSTANCES
-
-# get valid configured instances
-function getInstances(){
- for mycfg in $(ls -1 ${CFGDIR}/*${1}*.config)
- do
-   if . "$mycfg"; then
-     echo $(basename "${mycfg}" | cut -f 1 -d ".")
-   fi
- done
-}
+            # wait untile count of curl proecses is lower maximum
+            wait4curlcount $iParallel
 
+            iCounter=0
+            cmdline=
+        fi
 
-# load the config of an existing instance
-# see getInstances to get valid names
-# param  string  name of the instance to load
-function loadInstance(){
-  COUCH_URL=
-  if ! . "${CFGDIR}/${1}.config"; then
-    color error
-    echo ERROR: invalid instance: $1 - the config file cannot be sourced
-    color reset
-    exit 1
-  fi
-  if [ -z "${COUCH_URL}" ]; then
-    color error
-    echo "ERROR: invalid instance: $1 - the config file has no COUCH_URL"
-    color reset
-    exit 1
-  fi
+    done
+    test -n "${cmdline}" && curl -s $cmdline &
 
+    wait4curlcount 0
 }
 
 
@@ -178,30 +143,25 @@ function loadInstance(){
 # backup with loop over instances
 # param 1  string  globbing filter to config files
 function doBackup(){
-  # # for mycfg in `ls -1 ~/.iml_backup/couchdb/*.config`
-  # for COUCHDB_INSTANCE in $(getInstances $1)
-  # do
-  #   loadInstance "$COUCHDB_INSTANCE"
-
-      echo "--- instance: $PROFILENAME"
-      if curl --head -X GET "$COUCH_URL" 2>/dev/null | grep "^HTTP.* 200 "; then
-        echo OK, connected.
-        sleep 1
-        _doBackupOfSingleInstance
-
-      else
-        rc=$rc+1
-        color error
-        echo "ERROR: couch DB instance is not available or canot be accessed with these credentials in config file"
-        # repeat curl to show the error message
-        curl -X GET "$COUCH_URL"
-        color reset
-      fi
+
+    echo "--- instance: $PROFILENAME"
+    if curl --head -X GET "$COUCH_URL" 2>/dev/null | grep "^HTTP.* 200 "; then
+    echo OK, connected.
+    sleep 1
+    _doBackupOfSingleInstance
+
+    else
+    rc=$rc+1
+    color error
+    echo "ERROR: couch DB instance is not available or canot be accessed with these credentials in config file"
+    # repeat curl to show the error message
+    curl -X GET "$COUCH_URL"
+    color reset
+    fi
 
     echo
     echo "--- $(date) done."
     echo
-  # done
 }
 
 # make backup of all databases in a couchdb instance
@@ -209,169 +169,169 @@ function doBackup(){
 # global: PROFILENAME
 function _doBackupOfSingleInstance(){
 
-  create_targetdir
-  local ARCHIVE_DIR2="${ARCHIVE_DIR}/deleted_databases"
-  for _dir in "${ARCHIVE_DIR}"      "${ARCHIVE_DIR}/seq"  "${ARCHIVE_DIR}/security" \
-              "${ARCHIVE_DIR2}"     "${ARCHIVE_DIR2}/seq" "${ARCHIVE_DIR2}/security"
-  do
+    create_targetdir
+    local ARCHIVE_DIR2="${ARCHIVE_DIR}/deleted_databases"
+    for _dir in "${ARCHIVE_DIR}"      "${ARCHIVE_DIR}/seq"  "${ARCHIVE_DIR}/security" \
+                "${ARCHIVE_DIR2}"     "${ARCHIVE_DIR2}/seq" "${ARCHIVE_DIR2}/security"
+    do
     test -d "$_dir" || (echo "creating $_dir" ; mkdir -p "$_dir" )
-  done
-
-  local iChunksize=100
-  local iParallel=6
-
-  local dblistfile
-  local sSequenceCurrent
-  local sSequenceLast
-  local OUTFILE
-  local ARCHIVFILE
-  local SEQFILE
-  local SECURITYFILE
-  local iTsStart; typeset -i iTsStart
-  local iTsTotal; typeset -i iTsTotal
-  local iDbPerSec; typeset -i iDbPerSec
-
-  dblistfile="/tmp/dblist_${PROFILENAME}.txt"
-
-  # this is just a caching file of the sequence id of the last backup and can be safely deleted.
-  seqfile="${ARCHIVE_DIR}/seq/all_seqids_of_last_backups_cache.txt"
-
-  echo "--- $( date +%H:%M:%S ) Get list of all databases"
-  _getDblist >"${dblistfile}"
-
-  typeset -i iDbTotal; iDbTotal=$( wc -l < "$dblistfile")
-  typeset -i iDb=0        # counter for number of database in the loop
-  typeset -i iDbCount=0   # counter for backed up databases
-  echo "${PROFILENAME} has $iDbTotal databases"
-
-  # detect deleted databases: 
-  echo
-  echo "--- $( date +%H:%M:%S ) MOVE deleted databases "
-  echo "... into ${ARCHIVE_DIR2}"
-  echo
-  for dumpfile in $( find "${ARCHIVE_DIR}/" -maxdepth 1 -type f -name "*.couchdbdump.gz" )
-  do
-      # extract database name: get basename and cut extension
-      # dbname=$( basename $dumpfile | sed "s#\.couchdbdump\.gz##g" )
-      dbname=${dumpfile##*/}
-      dbname=${dbname/%.couchdbdump.gz//}
-      dbname=${dbname/\/}
-
-      if ! grep "^${dbname}" "${dblistfile}"  >/dev/null; then
-              SEQFILE=${ARCHIVE_DIR}/seq/__seq__${dbname}
-              SECURITYFILE=${ARCHIVE_DIR}/security/__security__${dbname}.json
-              echo "DELETED $dbname ... $( ls -l ${dumpfile} | cut -f 5- -d ' ' )"
-              mv "${dumpfile}"     "${ARCHIVE_DIR2}"
-              mv "${SEQFILE}"      "${ARCHIVE_DIR2}/seq/"
-              mv "${SECURITYFILE}" "${ARCHIVE_DIR2}/security/"
-      fi
-  done
-
-  echo
-  echo "--- $( date +%H:%M:%S ) DUMP databases"
-  echo "    of instance ${PROFILENAME}: $iDbTotal databases"
-  echo "    TO BACKUP ${BACKUP_TARGETDIR}"
-  echo "      ARCHIVE ${ARCHIVE_DIR}"
-  echo
-
-  echo "----- $( date +%H:%M:%S ) - Get database meta infos ... max $iParallel parralel curl requests sending $iChunksize database urls per process"
-  seq=$( reqCombined $iChunksize $iParallel "$dblistfile" | jq -r ' [ .db_name, .update_seq ] | @csv ' | tr -d '"' | tr ',' ' '  | awk '{ sub(/-.*/, "", $2 ); print $1 "," $2  }' )
-  #                                                                                             ^        ^           ^                    ^                              ^
-  #                                                     db_name + update_seq in a single line --+        |           |                    |   and back: space to comma --+
-  #                                                                                      delete quotes --+           |                    +-- remove string after first minus char
-  #                                                                                comma to space (for awk values) --+
-  # the result is database name + comma + sequence id
-  # echo "$seq" | head -3
-  # _users,7688
-  # candidate-00649860284626638ac6fd12bf000df5,40
-  # candidate-04561cddbd0fa305714b48a57929d8b4,3
-
-  echo "----- $( date +%H:%M:%S ) - reading current sequence ids..."
-  declare -A aSeq
-  for line in $( echo "$seq" )
-  do
-    IFS="," read -r db seqid <<< "$line"
-    aSeq+=([$db]=$seqid)
-  done
-
-  echo "----- $( date +%H:%M:%S ) - reading sequence ids of last backup..."
-  declare -A aSeqBackup
-  for line in $( cat "${seqfile}" 2>/dev/null )
-  do
-    IFS="," read -r db seqid <<< "$line"
-    aSeqBackup+=([$db]=$seqid)
-  done
-
-  iTsStart=$( date +%s)
-  for dbname in $( cat "$dblistfile" )
-  do
-    iDb+=1
-    echo -n "----- $( date +%H:%M:%S ) ${PROFILENAME} -- $iDb of $iDbTotal - ${dbname} - "
-
-    ARCHIVFILE=${ARCHIVE_DIR}/${dbname}.couchdbdump.gz
-    SEQFILE=${ARCHIVE_DIR}/seq/__seq__${dbname}
-    SECURITYFILE=${ARCHIVE_DIR}/security/__security__${dbname}.json
-
-    # compare current sequence id with last backup sequence id
-    sSequenceCurrent="${aSeq[$dbname]}"
-    sSequenceLast="${aSeqBackup[$dbname]:-$(cat ${SEQFILE} 2>/dev/null | cut -f 1 -d '-')}"
-    aSeqBackup[${dbname}]=$sSequenceLast
-    if [ "${sSequenceCurrent}" = "${sSequenceLast}" ] && [ -f "$ARCHIVFILE" ]; then
-      echo "SKIP: still on sequence ${sSequenceLast}"      
-    else
-      OUTFILE=${BACKUP_TARGETDIR}/$(get_outfile "${dbname}").couchdbdump
-      if [ -z "$sSequenceCurrent" ]; then
-        echo "WARNING: unable to fetch current sequence ID - maybe the database was deleted."
-      else
-        echo
-        echo "update_seq --+-- current [${sSequenceCurrent}]" 
-        echo "             +-- backup  [${sSequenceLast}]"
-        echo -n "Need to backup ... "
+    done
 
-        # TODO
-        couchbackup --db "${dbname}" >"${OUTFILE}".progress 2>/dev/null && mv "${OUTFILE}".progress "${OUTFILE}"
-        fetchrc
+    local iChunksize=100
+    local iParallel=6
 
-        # $myrc is last returncode - set in fetchrc
-        if [ $myrc -eq 0 ]; then
-          echo -n "gzip ... "
-          compress_file "$OUTFILE"
-          fetchrc
-          if [ $myrc -eq 0 ]; then
-            iDbCount+=1
-
-            aSeqBackup[${dbname}]=${sSequenceCurrent}
-            # flushing cached information
-            rm -f "${seqfile}" 2>/dev/null
-
-            cp "${OUTFILE}"* "${ARCHIVFILE}"                             \
-              && echo "${sSequenceCurrent}">"${SEQFILE}"                 \
-              && _couchapi GET "${dbname}/_security" > "${SECURITYFILE}"
-            ls -l "${ARCHIVFILE}" "${SEQFILE}" "${SECURITYFILE}"
-          fi
-        else
-          echo "ERROR occured while dumping - abort"
+    local dblistfile
+    local sSequenceCurrent
+    local sSequenceLast
+    local OUTFILE
+    local ARCHIVFILE
+    local SEQFILE
+    local SECURITYFILE
+    local iTsStart; typeset -i iTsStart
+    local iTsTotal; typeset -i iTsTotal
+    local iDbPerSec; typeset -i iDbPerSec
+
+    dblistfile="/tmp/dblist_${PROFILENAME}.txt"
+
+    # this is just a caching file of the sequence id of the last backup and can be safely deleted.
+    seqfile="${ARCHIVE_DIR}/seq/all_seqids_of_last_backups_cache.txt"
+
+    echo "--- $( date +%H:%M:%S ) Get list of all databases"
+    _getDblist >"${dblistfile}"
+
+    typeset -i iDbTotal; iDbTotal=$( wc -l < "$dblistfile")
+    typeset -i iDb=0        # counter for number of database in the loop
+    typeset -i iDbCount=0   # counter for backed up databases
+    echo "${PROFILENAME} has $iDbTotal databases"
+
+    # detect deleted databases: 
+    echo
+    echo "--- $( date +%H:%M:%S ) MOVE deleted databases "
+    echo "... into ${ARCHIVE_DIR2}"
+    echo
+    for dumpfile in $( find "${ARCHIVE_DIR}/" -maxdepth 1 -type f -name "*.couchdbdump.gz" )
+    do
+        # extract database name: get basename and cut extension
+        # dbname=$( basename $dumpfile | sed "s#\.couchdbdump\.gz##g" )
+        dbname=${dumpfile##*/}
+        dbname=${dbname/%.couchdbdump.gz//}
+        dbname=${dbname/\/}
+
+        if ! grep "^${dbname}" "${dblistfile}"  >/dev/null; then
+            SEQFILE=${ARCHIVE_DIR}/seq/__seq__${dbname}
+            SECURITYFILE=${ARCHIVE_DIR}/security/__security__${dbname}.json
+            echo "DELETED $dbname ... $( ls -l ${dumpfile} | cut -f 5- -d ' ' )"
+            mv "${dumpfile}"     "${ARCHIVE_DIR2}"
+            mv "${SEQFILE}"      "${ARCHIVE_DIR2}/seq/"
+            mv "${SECURITYFILE}" "${ARCHIVE_DIR2}/security/"
         fi
-        ls -l "$OUTFILE"*
-        echo
-      fi # if [ -z "$sSequenceCurrent" ]; then
-    fi # if [ "${sSequenceCurrent}" = "${sSequenceLast}" ] ...
-  done
-  iTsTotal=$( date +%s)-$iTsStart
-  iDbPerSec=$iDbTotal/$iTsTotal
+    done
 
-  # cache sequence ids in a file
-  echo "----- $( date +%H:%M:%S ) - writing sequence ids ..."
-  rm -f "${seqfile}" 2>/dev/null
-  for key in "${!aSeqBackup[@]}"; do
-    echo "$key,${aSeqBackup[$key]}" >> "${seqfile}"
-  done
-  ls -l "${seqfile}"
-  echo
+    echo
+    echo "--- $( date +%H:%M:%S ) DUMP databases"
+    echo "    of instance ${PROFILENAME}: $iDbTotal databases"
+    echo "    TO BACKUP ${BACKUP_TARGETDIR}"
+    echo "      ARCHIVE ${ARCHIVE_DIR}"
+    echo
 
-  rm -f "$dblistfile"
+    echo "----- $( date +%H:%M:%S ) - Get database meta infos ... max $iParallel parralel curl requests sending $iChunksize database urls per process"
+    seq=$( reqCombined $iChunksize $iParallel "$dblistfile" | jq -r ' [ .db_name, .update_seq ] | @csv ' | tr -d '"' | tr ',' ' '  | awk '{ sub(/-.*/, "", $2 ); print $1 "," $2  }' )
+    #                                                                                             ^        ^           ^                    ^                              ^
+    #                                                     db_name + update_seq in a single line --+        |           |                    |   and back: space to comma --+
+    #                                                                                      delete quotes --+           |                    +-- remove string after first minus char
+    #                                                                                comma to space (for awk values) --+
+    # the result is database name + comma + sequence id
+    # echo "$seq" | head -3
+    # _users,7688
+    # candidate-00649860284626638ac6fd12bf000df5,40
+    # candidate-04561cddbd0fa305714b48a57929d8b4,3
+
+    echo "----- $( date +%H:%M:%S ) - reading current sequence ids..."
+    declare -A aSeq
+    for line in $( echo "$seq" )
+    do
+        IFS="," read -r db seqid <<< "$line"
+        aSeq+=([$db]=$seqid)
+    done
+
+    echo "----- $( date +%H:%M:%S ) - reading sequence ids of last backup..."
+    declare -A aSeqBackup
+    for line in $( cat "${seqfile}" 2>/dev/null )
+    do
+        IFS="," read -r db seqid <<< "$line"
+        aSeqBackup+=([$db]=$seqid)
+    done
+
+    iTsStart=$( date +%s)
+    for dbname in $( cat "$dblistfile" )
+    do
+        iDb+=1
+        echo -n "----- $( date +%H:%M:%S ) ${PROFILENAME} -- $iDb of $iDbTotal - ${dbname} - "
+
+        ARCHIVFILE=${ARCHIVE_DIR}/${dbname}.couchdbdump.gz
+        SEQFILE=${ARCHIVE_DIR}/seq/__seq__${dbname}
+        SECURITYFILE=${ARCHIVE_DIR}/security/__security__${dbname}.json
+
+        # compare current sequence id with last backup sequence id
+        sSequenceCurrent="${aSeq[$dbname]}"
+        sSequenceLast="${aSeqBackup[$dbname]:-$(cat ${SEQFILE} 2>/dev/null | cut -f 1 -d '-')}"
+        aSeqBackup[${dbname}]=$sSequenceLast
+        if [ "${sSequenceCurrent}" = "${sSequenceLast}" ] && [ -f "$ARCHIVFILE" ]; then
+        echo "SKIP: still on sequence ${sSequenceLast}"      
+        else
+        OUTFILE=${BACKUP_TARGETDIR}/$(get_outfile "${dbname}").couchdbdump
+        if [ -z "$sSequenceCurrent" ]; then
+            echo "WARNING: unable to fetch current sequence ID - maybe the database was deleted."
+        else
+            echo
+            echo "update_seq --+-- current [${sSequenceCurrent}]" 
+            echo "             +-- backup  [${sSequenceLast}]"
+            echo -n "Need to backup ... "
+
+            # TODO
+            couchbackup --db "${dbname}" >"${OUTFILE}".progress 2>/dev/null && mv "${OUTFILE}".progress "${OUTFILE}"
+            fetchrc
+
+            # $myrc is last returncode - set in fetchrc
+            if [ $myrc -eq 0 ]; then
+            echo -n "gzip ... "
+            compress_file "$OUTFILE"
+            fetchrc
+            if [ $myrc -eq 0 ]; then
+                iDbCount+=1
+
+                aSeqBackup[${dbname}]=${sSequenceCurrent}
+                # flushing cached information
+                rm -f "${seqfile}" 2>/dev/null
+
+                cp "${OUTFILE}"* "${ARCHIVFILE}"                             \
+                && echo "${sSequenceCurrent}">"${SEQFILE}"                 \
+                && _couchapi GET "${dbname}/_security" > "${SECURITYFILE}"
+                ls -l "${ARCHIVFILE}" "${SEQFILE}" "${SECURITYFILE}"
+            fi
+            else
+            echo "ERROR occured while dumping - abort"
+            fi
+            ls -l "$OUTFILE"*
+            echo
+        fi # if [ -z "$sSequenceCurrent" ]; then
+        fi # if [ "${sSequenceCurrent}" = "${sSequenceLast}" ] ...
+    done
+    iTsTotal=$( date +%s)-$iTsStart
+    iDbPerSec=$iDbTotal/$iTsTotal
+
+    # cache sequence ids in a file
+    echo "----- $( date +%H:%M:%S ) - writing sequence ids ..."
+    rm -f "${seqfile}" 2>/dev/null
+    for key in "${!aSeqBackup[@]}"; do
+        echo "$key,${aSeqBackup[$key]}" >> "${seqfile}"
+    done
+    ls -l "${seqfile}"
+    echo
+
+    rm -f "$dblistfile"
 
-  echo "__DB__$SERVICENAME backup INFO: ${PROFILENAME} - backed up $iDbCount dbs of $iDbTotal total ... in $iTsTotal sec ($iDbPerSec databases per sec)"
+    echo "__DB__$SERVICENAME backup INFO: ${PROFILENAME} - backed up $iDbCount dbs of $iDbTotal total ... in $iTsTotal sec ($iDbPerSec databases per sec)"
 
 }
 
@@ -398,95 +358,93 @@ function _doBackupOfSingleInstance(){
 # param  string  filename of db dump (full path or relative to BACKUP_TARGETDIR)
 # param  string  optional: target database; default: detect name from import database 
 function restoreByFile(){
-  sMyfile=$1
-  dbname=$2
-
-  bFastMode=0 # 0 = delete db first and import | 1 = create and import (on empty instance only)
-
-  echo
-  h2 "analyze dump $sMyfile"
+    sMyfile=$1
+    dbname=$2
 
-  # COUCHDB_INSTANCE=$(echo $sMyfile | sed "s#${BACKUP_TARGETDIR}##g" | sed "s#\./##g" | sed "s#^/##g" | cut -f 1 -d "/")
-  # echo "detected COUCHDB_INSTANCE   : [${COUCHDB_INSTANCE}]"
-  # if [ -z "$COUCHDB_INSTANCE" ]; then
-  #   echo "ERROR: Name of the instance was not detected."
-  #   echo "       For couchdb restore you should cd to the ${BACKUP_TARGETDIR} or ${ARCHIVE_DIR}"
-  #   exit 1
-  # fi
+    bFastMode=0 # 0 = delete db first and import | 1 = create and import (on empty instance only)
 
-  local _sourceDB="$( guessDB $sMyfile | sed 's#.couchdbdump.gz$##' )"
-  echo "detected source database    : [${_sourceDB}]"
-
-  if [ -z "$dbname" ]; then
-    dbname="$_sourceDB"
-    echo "using the same as target    : [${dbname}]"
-  else
-    echo "using db schema from param 2: [${dbname}]"
-  fi
-
-  echo
+    echo
+    h2 "analyze dump $sMyfile"
+
+    # COUCHDB_INSTANCE=$(echo $sMyfile | sed "s#${BACKUP_TARGETDIR}##g" | sed "s#\./##g" | sed "s#^/##g" | cut -f 1 -d "/")
+    # echo "detected COUCHDB_INSTANCE   : [${COUCHDB_INSTANCE}]"
+    # if [ -z "$COUCHDB_INSTANCE" ]; then
+    #   echo "ERROR: Name of the instance was not detected."
+    #   echo "       For couchdb restore you should cd to the ${BACKUP_TARGETDIR} or ${ARCHIVE_DIR}"
+    #   exit 1
+    # fi
+
+    local _sourceDB="$( guessDB $sMyfile | sed 's#.couchdbdump.gz$##' )"
+    echo "detected source database    : [${_sourceDB}]"
+
+    if [ -z "$dbname" ]; then
+        dbname="$_sourceDB"
+        echo "using the same as target    : [${dbname}]"
+    else
+        echo "using db schema from param 2: [${dbname}]"
+    fi
 
-  # loadInstance $COUCHDB_INSTANCE
+    echo
   
-  if [ $bFastMode -eq 0 ]; then
-    echo connect $couchdbhost on port $couchdbport with user $couchdbuser
-    curl --head -X GET $COUCH_URL 2>/dev/null | grep "^HTTP.* 200 " >/dev/null
-    if [ $? -ne 0 ]; then
-        color error
-        echo ERROR: couch DB instance is not available
-        curl -X GET $COUCH_URL
+    if [ $bFastMode -eq 0 ]; then
+        echo connect $couchdbhost on port $couchdbport with user $couchdbuser
+        curl --head -X GET $COUCH_URL 2>/dev/null | grep "^HTTP.* 200 " >/dev/null
+        if [ $? -ne 0 ]; then
+            color error
+            echo ERROR: couch DB instance is not available
+            curl -X GET $COUCH_URL
+            color reset
+            exit 1
+        fi
+        color ok
+        echo OK
         color reset
-        exit 1
     fi
-    color ok
-    echo OK
-    color reset
-  fi
 
-  echo
+    echo
 
-  # _getDblist | grep "^${dbname}$"
-  # if [ $? -eq 0 ]; then
-  #   echo DB exists ... need to drop it first
-  # fi
+    # _getDblist | grep "^${dbname}$"
+    # if [ $? -eq 0 ]; then
+    #   echo DB exists ... need to drop it first
+    # fi
+
+    if [ $bFastMode -eq 0 ]; then
+        h2 deleting database [$dbname] ...
+        color cmd
+        _couchapi DELETE $dbname
+        fetchrc
+        color reset
+    fi
 
-  if [ $bFastMode -eq 0 ]; then
-    h2 deleting database [$dbname] ...
+    h2 creating database [$dbname] ...
     color cmd
-    _couchapi DELETE $dbname
+    _couchapi PUT $dbname
     fetchrc
     color reset
-  fi
-
-  h2 creating database [$dbname] ...
-  color cmd
-  _couchapi PUT $dbname
-  fetchrc
-  color reset
-
-  h2 import file ...
-  color cmd
-  zcat ${sMyfile} | couchrestore --db $dbname
-  fetchrc
-  color reset
-
-  h2 add security infos ...
-  # todo: this will fail when restoring from "deleted_databases" folder
-  SECURITYFILE="${ARCHIVE_DIR}/security/__security__${_sourceDB}.json"
-  if [ -f "$SECURITYFILE" ]; then
-    SECDATA="$( cat $SECURITYFILE )"
+
+    h2 import file ...
     color cmd
-    echo "add security data: $SECDATA"
-    _couchapi PUT "${dbname}/_security" "$SECDATA"
+    zcat ${sMyfile} | couchrestore --db $dbname
     fetchrc
     color reset
-  else
-    color warning 
-    echo "WARNING: no security data file was found: $SECURITYFILE"
-    color reset
-  fi
 
-  echo
+    h2 add security infos ...
+    # todo: this will fail when restoring from "deleted_databases" folder
+    SECURITYFILE="${ARCHIVE_DIR}/security/__security__${_sourceDB}.json"
+    if [ -f "$SECURITYFILE" ]; then
+        SECDATA="$( cat $SECURITYFILE )"
+        color cmd
+        echo "add security data: $SECDATA"
+        _couchapi PUT "${dbname}/_security" "$SECDATA"
+        fetchrc
+        color reset
+    else
+        color warning 
+        echo "WARNING: no security data file was found: $SECURITYFILE"
+        color reset
+    fi
+
+    echo
 
 }
 
@@ -501,50 +459,37 @@ function restoreByFile(){
 # j_requireProcess "couchdb"   1
 
 # --- very specific :-/ ... check available config files
-ls -1 ${CFGDIR}/* >/dev/null 2>&1
-rc=$rc+$?
 
+j_requireBinary  "curl"         1
+j_requireBinary  "couchbackup"  1
+j_requireBinary  "couchrestore" 1
 
-if [ $rc -eq 0 ]; then
-  # echo OK: couchdb2 config was found on this system ... checking requirements for backup ...
-
-  j_requireBinary  "curl"         1
-  j_requireBinary  "couchbackup"  1
-  j_requireBinary  "couchrestore" 1
-
-  #ls ${dirPythonPackages}/couchdb/tools/dump.py ${dirPythonPackages}/couchdb/tools/load.py >/dev/null && echo "OK: python couchdb tools were found"
-  #rc=$rc+$?
+#ls ${dirPythonPackages}/couchdb/tools/dump.py ${dirPythonPackages}/couchdb/tools/load.py >/dev/null && echo "OK: python couchdb tools were found"
+#rc=$rc+$?
 
 
-  if [ $rc -eq 0 ]; then
+if [ $rc -eq 0 ]; then
     echo
 
     if [ "$1" = "restore" ]; then
-      echo
-      shift 1
-      restoreByFile $*
+        echo
+        shift 1
+        restoreByFile $*
 
     else
-      shift 1
+        shift 1
 
-      # remove keyword ALL which is used for localdump.sh to loop over all db types
-      test "$1" = "ALL" && shift 1
+        # remove keyword ALL which is used for localdump.sh to loop over all db types
+        test "$1" = "ALL" && shift 1
 
-      doBackup $*
+        doBackup $*
     fi
 
-  else
-    color error
-    echo ERROR: Couchdb is here but I am missing things for the backup :-/
-    color reset
-  fi
-
 else
-  rc=0
-  echo "__DB__$SERVICENAME SKIP: couchdb2 config does not seem to be here"
+    rc=1
+    color.echo error "ERROR: Your Couchdb data cannot be dumped."
 fi
 
-
 echo "__DB__$SERVICENAME INFO: $0 $* [$SERVICENAME] final returncode rc=$rc"
 
 # --------------------------------------------------------------------------------