diff --git a/bin/cdist-deploy-to b/bin/cdist-deploy-to
index 6b3f2ee1..baeff220 100755
--- a/bin/cdist-deploy-to
+++ b/bin/cdist-deploy-to
@@ -55,9 +55,9 @@ __cdist_dir push "${__cdist_abs_mydir}" "${__cdist_remote_bin_dir}"
 __cdist_dir push "${__cdist_core_dir}" "${__cdist_remote_core_dir}"
 
 cdist-explorer-run-global     "$__cdist_target_host"
-__cdist_manifest_run_init       "$__cdist_target_host"
+__cdist_manifest_run_init
 __cdist_object_all            __cdist_object_prepare
 __cdist_object_all            __cdist_object_run
-cdist-cache                   "$__cdist_target_host"
+__cdist_cache
 
 __cdist_echo info "cdist $__cdist_version: Successfully finished run"
diff --git a/bin/cdist-explorer-run-global b/bin/cdist-explorer-run-global
index 09b088f5..51052627 100755
--- a/bin/cdist-explorer-run-global
+++ b/bin/cdist-explorer-run-global
@@ -33,9 +33,10 @@ __cdist_echo info "Running global explorers "
 __cdist_dir push "${__cdist_explorer_dir}" "${__cdist_remote_explorer_dir}"
 
 # run the initial explorers remotely
-cdist-run-remote "${__cdist_target_host}" cdist-remote-explorer-run  \
+__cdist_run_remote "${__cdist_target_host}" cdist-remote-explorer-run  \
    "$__cdist_name_var_explorer" "$__cdist_remote_explorer_dir"       \
    "$__cdist_remote_out_explorer_dir"
 
+
 # retrieve the results
 __cdist_dir pull "${__cdist_remote_out_explorer_dir}" "${__cdist_out_explorer_dir}"
diff --git a/bin/cdist-remote b/bin/cdist-remote
index d95913ba..0a730a6e 100755
--- a/bin/cdist-remote
+++ b/bin/cdist-remote
@@ -18,51 +18,9 @@
 # along with cdist. If not, see <http://www.gnu.org/licenses/>.
 #
 #
-# This binary is executed on the remote side to execute explorers
-# 
-# It supports different variables names to be used, so __explorers
-# and __type_explorers can be submitted :-)
+# This scripts runs functions or binaries remotely
 #
 
 . cdist-config
-[ $# -eq 3 ] || __cdist_usage "<variable name> <explorer dir> <out dir>"
-set -ue
 
-# Variable that defines the home of the explorers
-__cdist_variable_name="$1"; shift
-
-# Find explorers here
-__cdist_explorer_dir="$1"; shift
-
-# Write output here
-__cdist_my_out_dir="$1"; shift
-
-# Setup environment
-export $__cdist_variable_name="$__cdist_explorer_dir"
-export __global="$__cdist_remote_out_dir"
-
-mkdir -p "$__cdist_my_out_dir"
-
-# Ensure there is at least one explorer
-num="$(ls -1 "$__cdist_explorer_dir" | wc -l)"
-if [ "$num" -lt 1 ]; then
-   __cdist_exit_err "${__cdist_explorer_dir}: Contains no explorers"
-fi
-
-# Execute all explorers
-for explorer in "$__cdist_explorer_dir/"*; do
-   explorer_name="${explorer##*/}"
-
-   if [ -f "$explorer" ]; then
-      if [ ! -x "$explorer" ]; then
-         __cdist_exit_err "Explorer \"$explorer\" exists, but is not executable."
-      fi
-
-      # Execute explorers and save results in remote destination directory
-      "$explorer" > "${__cdist_my_out_dir}/$explorer_name"
-   else
-      if [ -e "$explorer" ]; then
-         __cdist_exit_err "Explorer \"$explorer\" exists, but is not a file."
-      fi
-   fi
-done
+"$@"
diff --git a/core/__cdist_object_code_run b/core/__cdist_object_code_run
index d25d1dca..c07505fe 100755
--- a/core/__cdist_object_code_run
+++ b/core/__cdist_object_code_run
@@ -32,6 +32,6 @@ __cdist_object_code_run()
    __cdist_code_run "$__cdist_object_code_run_object" "${__cdist_name_gencode_local}"
 
    # Code remote
-   cdist-run-remote "$__cdist_target_host" \
-      "cdist-code-run" "$__cdist_object_code_run_object" "${__cdist_name_gencode_remote}"
+   __cdist_run_remote "$__cdist_target_host" \
+      "__cdist_code_run" "$__cdist_object_code_run_object" "${__cdist_name_gencode_remote}"
 }
diff --git a/core/__cdist_object_explorer_run b/core/__cdist_object_explorer_run
index f11c6786..eb62401e 100755
--- a/core/__cdist_object_explorer_run
+++ b/core/__cdist_object_explorer_run
@@ -49,7 +49,7 @@ __cdist_object_explorer_run()
          "$(__cdist_remote_object_parameter_dir "$__cdist_object_self")"
 
       # Execute explorers
-      cdist-run-remote "$__cdist_target_host"                     \
+      __cdist_run_remote                                          \
          "$__cdist_name_var_object=\"$(__cdist_remote_object_dir "$__cdist_object_self")\"" \
          "$__cdist_name_var_object_id=\"$__cdist_object_id\""     \
          "$__cdist_name_var_self=\"$__cdist_object_self\""        \
diff --git a/bin/cdist-run-remote b/core/__cdist_run_remote
similarity index 70%
rename from bin/cdist-run-remote
rename to core/__cdist_run_remote
index 4a4452a2..697a1d68 100755
--- a/bin/cdist-run-remote
+++ b/core/__cdist_run_remote
@@ -21,13 +21,13 @@
 # Run a cdist binary on the remote side
 #
 
-. cdist-config
-[ $# -ge 2 ] || __cdist_usage "<target_host> <binary> [opts]"
-set -ue
+__cdist_run_remote()
+{
+   [ $# -ge 1 ] || __cdist_usage "<binary> [opts]"
 
-__cdist_target_host="$1"; shift
-
-ssh "${__cdist_remote_user}@${__cdist_target_host}"   \
-   "export PATH=\"${__cdist_remote_bin_dir}:\$PATH\";" \
-   "export __cdist_out_object_dir=\"$__cdist_remote_out_object_dir\";" \
-   "$@"
+   ssh "${__cdist_remote_user}@${__cdist_target_host}"   \
+      "export PATH=\"${__cdist_remote_bin_dir}:\$PATH\";" \
+      "export __cdist_out_object_dir=\"$__cdist_remote_out_object_dir\";" \
+      ". cdist-config;" \
+      "$@"
+}