diff --git a/puppet/manifests/init.pp b/puppet/manifests/init.pp
index 84f1464d8732ce434f7c46f3e1dad3b66498f03d..23c8524dd88e5eb37f92ebabd84ae39de2fb4ab6 100644
--- a/puppet/manifests/init.pp
+++ b/puppet/manifests/init.pp
@@ -14,8 +14,26 @@ file { "/vagrant/code":
 	ensure => directory,
 }
 
+# common dependencies
+
+package { 'python3':
+	ensure => present,
+}
+
+package { 'python-pip':
+          ensure => present,
+}
+
+package { 'npyscreen':
+          provider => pip,
+          ensure => present,
+}
+
+
+
 include uccvend-snackrom
 include virtualsnack
+include virtualcoke
 include opendispense2
 include uccvend-vendserver
 
diff --git a/puppet/modules/uccvend-configs/templates/dispense-server.conf.erb b/puppet/modules/uccvend-configs/templates/dispense-server.conf.erb
index 1da6ba13a28e2e4cd0b46a7030fda08be5872dfc..282e44e1ae4aae4d23ad98811a3e8ac58981c613 100644
--- a/puppet/modules/uccvend-configs/templates/dispense-server.conf.erb
+++ b/puppet/modules/uccvend-configs/templates/dispense-server.conf.erb
@@ -9,6 +9,7 @@ items_file items.cfg
 # PLC - coke brain
 #coke_modbus_address 130.95.13.73
 coke_modbus_address 0.0.0.0
+coke_modbus_port 1502
 
 # Zero price items, defaults to off
 test_mode no
diff --git a/puppet/modules/virtualcoke/manifests/init.pp b/puppet/modules/virtualcoke/manifests/init.pp
new file mode 100644
index 0000000000000000000000000000000000000000..ad8d22405573babfc038864c9724c062dafdab4a
--- /dev/null
+++ b/puppet/modules/virtualcoke/manifests/init.pp
@@ -0,0 +1,20 @@
+# == Class: virtualcoke
+#
+class virtualcoke {
+	package { 'python-pymodbus' :
+	  ensure => present
+	}
+
+	package { 'python-twisted' :
+	  ensure => present
+	}
+
+
+	vcsrepo { "/vagrant/code/virtualcoke":
+	  ensure => present,
+	  provider => git,
+	  require => [ Package[ 'git' ] ],
+	  source => "https://github.com/ucc/virtualcoke.git",
+	  revision => 'master',
+	}
+}
diff --git a/puppet/modules/virtualsnack/manifests/init.pp b/puppet/modules/virtualsnack/manifests/init.pp
index f13e8ede52bd894ed215ac1e3e107a1ee7f5a1f4..ee5c0a936c6e74f51623cb6ccdc7a899f04cf81d 100644
--- a/puppet/modules/virtualsnack/manifests/init.pp
+++ b/puppet/modules/virtualsnack/manifests/init.pp
@@ -1,19 +1,6 @@
 # == Class: virtualsnack
 #
 class virtualsnack {
-	package { 'python3':
-	  ensure => present,
-	}
-
-	package { 'python-pip':
-	  ensure => present,
-	}
-
-	package { 'npyscreen':
-	  provider => pip,
-	  ensure => present,
-	}
-	
 	vcsrepo { "/vagrant/code/virtualsnack":
 	  ensure => present,
 	  provider => git,