diff --git a/.gitmodules b/.gitmodules
index 401f2065247d6d3799e61745803058c86c1a273d..b7c5234f00ac6313810a0621421044f2355efde3 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -13,3 +13,6 @@
 [submodule "modules/cups"]
 	path = modules/cups
 	url = https://github.com/mosen/puppet-cups.git
+[submodule "modules/ntp"]
+	path = modules/ntp
+	url = https://github.com/puppetlabs/puppetlabs-ntp
diff --git a/modules/ntp b/modules/ntp
new file mode 160000
index 0000000000000000000000000000000000000000..385e416269dfeb2729c09e9e986eddb473c5838b
--- /dev/null
+++ b/modules/ntp
@@ -0,0 +1 @@
+Subproject commit 385e416269dfeb2729c09e9e986eddb473c5838b
diff --git a/modules/persist/files/usr/local/sbin/git2puppet b/modules/persist/files/usr/local/sbin/git2puppet
new file mode 100644
index 0000000000000000000000000000000000000000..40c07860c7973a159e0103b0d71c077f71a5e832
--- /dev/null
+++ b/modules/persist/files/usr/local/sbin/git2puppet
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+cd /etc/puppet
+git pull
+git submodule init
+git submodule update
+puppet apply /etc/puppet/manifests/site.pp
+apt-get -y upgrade
+
diff --git a/modules/persist/manifests/init.pp b/modules/persist/manifests/init.pp
index 5c18941afbad7e0165db40d2293a197c445a9978..9695c33e1e26060f1c1f712c29fcee760a8f1ffe 100644
--- a/modules/persist/manifests/init.pp
+++ b/modules/persist/manifests/init.pp
@@ -2,7 +2,7 @@ class persist {
 
 	file { '/usr/local/sbin/git2puppet':
 		ensure => present,
-		content => "#!/bin/bash\ncd /etc/puppet && git pull && git submodule init && git submodule update && puppet apply /etc/puppet/manifests/site.pp\napt-get -y upgrade",
+		source => 'puppet:///modules/persist/usr/local/sbin/git2puppet',
 		mode => '0755',
 	}