diff --git a/conf/type/__jail/.gitignore b/conf/type/__jail/.gitignore
new file mode 100644
index 00000000..e0471be4
--- /dev/null
+++ b/conf/type/__jail/.gitignore
@@ -0,0 +1 @@
+files/jailbase.tgz
diff --git a/conf/type/__jail/explorer/basepresent b/conf/type/__jail/explorer/basepresent
new file mode 100755
index 00000000..7c21fc08
--- /dev/null
+++ b/conf/type/__jail/explorer/basepresent
@@ -0,0 +1,42 @@
+#!/bin/sh
+#
+# 2012 Jake Guffey (jake.guffey at eprotex.com)
+#
+# 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 .
+#
+#
+# See if the jailbase.tgz or /usr/jail/base dir exists
+#
+
+name="base:jailbase.tgz"
+exists=0
+
+save_IFS="$IFS"
+IFS=":"
+for cur in $name; do
+ if [ -e "/usr/jail/$cur" ]; then
+ echo -n "$cur:"
+ let exists="$exists+1" 2>&1 >&-
+ fi
+done
+IFS="$save_IFS"
+
+if [ "$exists" -eq "0" ]; then
+ echo "NONE"
+else
+ echo "$exists"
+fi
+
diff --git a/conf/type/__jail/gencode-local b/conf/type/__jail/gencode-local
new file mode 100755
index 00000000..6ad476e6
--- /dev/null
+++ b/conf/type/__jail/gencode-local
@@ -0,0 +1,34 @@
+#!/bin/sh
+#
+# 2012 Jake Guffey (jake.guffey at eprotex.com)
+#
+# 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 .
+#
+#
+# The __jail type creates, configures, and deletes FreeBSD jails for use as
+# virtual machines.
+#
+
+#FIXME: /usr/jail should never be hardcoded in this type
+#FIXME: jailbase.tgz should not be hardcoded in this file
+
+jailbase="/usr/jail/jailbase.tgz"
+basepresent="$(cat "$__object/explorer/basepresent")"
+
+if [ "$basepresent" = "NONE" ]; then
+ __file "$jailbase" --source "$__object/files/jailbase.tgz"
+fi
+