diff --git a/bin/cdist-type-template b/bin/cdist-type-template
index 7b98de28..0391510c 100755
--- a/bin/cdist-type-template
+++ b/bin/cdist-type-template
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# 2010-2011 Nico Schottelius (nico-cdist at schottelius.org)
+# 2011 Nico Schottelius (nico-cdist at schottelius.org)
#
# This file is part of cdist.
#
@@ -18,34 +18,49 @@
# along with cdist. If not, see .
#
#
-# Transfer all executables
+# Create a new type from scratch
#
. cdist-config
-[ $# -eq 2 ] || __cdist_usage " "
+[ $# -eq 1 ] || __cdist_usage ""
set -eu
-__cdist_target_host="$1"; shift
-__cdist_my_remote_out_dir="$1"; shift
+__cdist_type="$1"; shift
-# Find directory that contains cdist binaries
-__cdist_conf_dir_path=$(which cdist-config)
-__cdist_src_base=${__cdist_conf_dir_path%config}
-# Help the user
-echo "Transferring cdist binaries ..."
+# Base
+mkdir -p "$(__cdist_type_dir "$__cdist_type")"
-# re-create basedir so it's clean
-ssh "${__cdist_remote_user}@${__cdist_target_host}" \
- "rm -rf \"${__cdist_my_remote_out_dir}\" && mkdir -p \"${__cdist_my_remote_out_dir}\""
+# Parameter
+mkdir -p "$(__cdist_type_parameter_dir "$__cdist_type")"
+touch "$(__cdist_type_parameter_dir "$__cdist_type")/${__cdist_name_parameter_required}"
+touch "$(__cdist_type_parameter_dir "$__cdist_type")/${__cdist_name_parameter_optional}"
-# Transfer cdist-* to the remote host
-scp -qr "${__cdist_src_base}"* \
- "${__cdist_remote_user}@${__cdist_target_host}:${__cdist_my_remote_out_dir}"
+# Manifest
+cat "$__cdist_abs_mydir/../doc/dev/header" - << eof > "$(__cdist_type_parameter_dir "$__cdist_type")/${__cdist_name_manifest}"
-# Adjust cdist-config to contain static version string
-tmp_version="$__cdist_version"
-sed "s/^: \${\(__cdist_version\):=.*/\1=\"$tmp_version\"/" "$(which cdist-config)" | \
- ssh -q "${__cdist_remote_user}@${__cdist_target_host}" \
- "cat > \"${__cdist_my_remote_out_dir}\"/cdist-config"
+#
+# This is the manifest, which can be used to create other objects like this:
+# __file /path/to/destination --source /from/where/ --type file
+#
+# To tell cdist to make use of it, you need to make it executable (chmod +x)
+#
+#
+eof
+
+# Gencode
+cat "$__cdist_abs_mydir/../doc/dev/header" - << eof > "$(__cdist_type_parameter_dir "$__cdist_type")/${__cdist_name_gencode}"
+
+#
+# This file should generate code on stdout, which will be collected by cdist
+# and run on the target.
+#
+# To tell cdist to make use of it, you need to make it executable (chmod +x)
+#
+#
+
+eof
+
+# Explorer
+mkdir -p "$(__cdist_type_parameter_dir "$__cdist_type")/${__cdist_name_explorer}"