diff --git a/detector.sh b/detector.sh
index 4d032b6cd00d07a17c9d37fc03c4c5d21ad2a432..7c575744e7c5f953ff6f679511ea9bcc0a0d8d48 100755
--- a/detector.sh
+++ b/detector.sh
@@ -10,133 +10,52 @@
 
 cd $( dirname $0 )
 
-. jobhelper.sh || exit 1
 . vendor/ini.class.sh || exit 1
+. $(dirname $0)/includes/dbdetect.class.sh
 
-DBD_BASEDIR=plugins/localdump/profiles/
-declare -A DBD_PARAMS
 DBD_DEBUG=0
 
-# --------------------------------------------------------------------
-#
-# --------------------------------------------------------------------
-
-# ---------- GETTER
-
-function dbdetect._wd(){
-    test "$DBD_DEBUG" -eq "1" && echo "DEBUG: $*"
-}
-
-function dbdetect.getConfigs(){
-    find ${DBD_BASEDIR} -type f -name "*.ini"
-}
+USAGE="Detect profiles for databases which are located in 
+$DBD_BASEDIR.
 
-function dbdetect.getType(){
-    basename "$1" | cut -d "_" -f 1 | sed "s,\.ini$,,"
-}
-function dbdetect.getProfile(){
-    basename "$1" | cut -d "_" -f 1- | sed "s,\.ini$,,"
-}
+For detected profiles it shows its used parameters.
+This script helps you to define / verify custom profiles.
 
+SYNTAX: $( basename $0) [OPTIONS] [FILTER]
 
-function dbdetect.exists(){
-    local _config="$1"
+OPTIONS:
+    -d|--debug  show debug information
+    -h|--help   Show this help
 
-    DBD_PARAMS=
+PARAMETERS:
+    FILTER   a string / regex to filter profilenames.
 
-    local _found=0
-
-    # set file and inisection we read values from
-    ini.set "$_config" "detect"
-    
-    # --- check tcp
-    local tcpport; tcpport=$( ini.value "tcp" )    
-    local tcptarget; tcptarget=$( ini.value "tcp-target" )    
-    if { ! >/dev/tcp/$tcptarget/$tcpport; } > /dev/null 2>&1; then
-        # echo "No port tcp $tcpport available"
-        dbdetect._wd "... No port tcp $tcpport available on $tcptarget"
-        return 1
-    fi
-    dbdetect._wd "... Found tcp $tcpport on $tcptarget."
-
-    # --- check tcp process
-    local tcpprocess; tcpprocess=$( ini.value "tcp-process" )
-    if [ -n "$tcpprocess" ]; then
-        if ! netstat -tulpen 2>/dev/null | grep "^tcp.*:${tcpport} .*/${tcpprocess}" >/dev/null; then
-            # echo "No port tcp $tcpport available"
-            dbdetect._wd "... $tcpprocess not found for tcp ${tcpport}"
-            return 1
-        fi
-        dbdetect._wd "... tcp $tcpport is used by $tcpprocess."
-    fi
-
-    # --- check binaries
-    local binary; binary=$( ini.value "binary" )
-    if [ -n "${binary}" ]; then
-        for mybinary in $( echo "${binary}" | tr "," " " ); do
-            if ! j_requireBinary "$mybinary" 1 >/dev/null 2>&1; then
-                dbdetect._wd "... Missing binary: ${mybinary}"
-                return 1
-            fi
-            dbdetect._wd "... Binary: ${mybinary} was found"
-        done
-    fi
-
-    # --- check process
-    local process; process=$( ini.value "process" )
-    if [ -n "${process}" ]; then
-        if ! j_requireProcess "${process}" 1 >/dev/null; then
-            dbdetect._wd "... Missing process: ${process}"
-            return 1
-        fi
-        # if ! ps -eo command | grep -E "${process}" >/dev/null 2>&1; then
-        #     dbdetect._wd "... Process ${process} was not found"
-        #     return 1
-        # fi
-        dbdetect._wd "... Process ${process} was found"
-    fi
-
-    ini.set "$config" "set"
-    local value
-    local dbuser=$( ini.value "dbuser" )
-    local dbpassword=$( ini.value "dbpassword" )
-
-    for mykey in $( ini.keys )
-    do
-        # params = '--port={{tcp}} --password={{dbpassword}} --user={{dbuser}} --host={{tcp-target}}'
-        value="$( ini.value "$mykey" )"
-        value="${value//\{\{tcp\}\}/$tcpport}"
-        value="${value//\{\{tcp-target\}\}/$tcptarget}"
-        value="${value//\{\{dbuser\}\}/$dbuser}"
-        value="${value//\{\{dbpassword\}\}/$dbpassword}"
-        DBD_PARAMS[$mykey]="$value"
-    done
-
-    return 0
-}
-
-
-function dbdetect.getParams(){
-    echo "${DBD_PARAMS['params']}"
-}
-
-function dbdetect.runas(){
-    echo "${DBD_PARAMS['su']}"
-}
+SXYNTAX:
+    $( basename $0) -d      Test all profiles with debug output
+    $( basename $0) mysql   Test profiles matching 'mysql' only
+"
+# --------------------------------------------------------------------
 
 # ----------------------------------------------------------------------
 # MAIN
 # ----------------------------------------------------------------------
 
 echo
-echo " --==##|  POC * DATABASE DETECTOR  |##==-- "
+echo " --==##|  DATABASE PROFILE DETECTOR  |##==-- "
 echo
 
-dbdetect._wd
-dbdetect._wd "------"
+while [[ "$#" -gt 0 ]]; do case $1 in
+    -d|--debug)     DBD_DEBUG=1;;
+    -h|--help)      echo "$USAGE"; exit 0;;
+    *) if grep "^-" <<< "$1" >/dev/null ; then
+        echo; echo "ERROR: Unknown parameter: $1"; echo; _showHelp; exit 2
+       fi
+       break;
+       ;;
+esac; done
 
-dbdetect._wd ">>>>>>>>>> $module"
-for config in $(dbdetect.getConfigs); do
+dbdetect._wd "------"
+for config in $(dbdetect.getConfigs | grep "${1:-.}"); do
     dbdetect._wd "----- $config"
     if dbdetect.exists $config; then
         echo "FOUND: $config"