diff --git a/bin/cdist-config b/bin/cdist-config
index 74d9eed7..a8f32dc1 100644
--- a/bin/cdist-config
+++ b/bin/cdist-config
@@ -162,30 +162,6 @@ for __cdist_lib in $__cdist_core_dir/*; do
. "$__cdist_lib"
done
-
-__cdist_exec_fail_on_error()
-{
- set +e
- sh -e "$@"
- if [ "$?" -ne 0 ]; then
- __cdist_echo error "$1 exited non-zero"
- __cdist_echo warn "Faulty code:"
- cat "$1"
- __cdist_exit_err "Aborting due to non-zero exit code."
- fi
-}
-
-__cdist_exit_err()
-{
- __cdist_echo error "$@"
- exit 1
-}
-
-__cdist_usage()
-{
- __cdist_exit_err "$__cdist_myname: $@"
-}
-
___cdist_lib_path()
{
echo $_
diff --git a/core/__cdist_exec_fail_on_error b/core/__cdist_exec_fail_on_error
new file mode 100755
index 00000000..96e5f056
--- /dev/null
+++ b/core/__cdist_exec_fail_on_error
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# 2011 Nico Schottelius (nico-cdist at schottelius.org)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+# Exit if an error occurs
+#
+
+__cdist_exec_fail_on_error()
+{
+ set +e
+ sh -e "$@"
+ if [ "$?" -ne 0 ]; then
+ __cdist_echo error "$1 exited non-zero"
+ __cdist_echo warn "Faulty code:"
+ cat "$1"
+ __cdist_exit_err "Aborting due to non-zero exit code."
+ fi
+ set -e
+}
diff --git a/core/__cdist_exit_err b/core/__cdist_exit_err
new file mode 100755
index 00000000..303dbf20
--- /dev/null
+++ b/core/__cdist_exit_err
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# 2011 Nico Schottelius (nico-cdist at schottelius.org)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+# Print error and exit (perror() alike)
+#
+
+__cdist_exit_err()
+{
+ __cdist_echo error "$@"
+ exit 1
+}
diff --git a/core/__cdist_usage b/core/__cdist_usage
new file mode 100755
index 00000000..9dfa30e4
--- /dev/null
+++ b/core/__cdist_usage
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# 2011 Nico Schottelius (nico-cdist at schottelius.org)
+#
+# This file is part of cdist.
+#
+# cdist is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# cdist is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with cdist. If not, see .
+#
+#
+# Print error and exit (perror() alike)
+#
+
+__cdist_usage()
+{
+ __cdist_exit_err "$__cdist_myname: $@"
+}