diff --git a/installNFS.yml b/installNFS.yml
index 8752a25e72d51d928f79ff71e6616dcd08cc61f2..0c6b1c24dfc5e9ffe8a63ccc234fd2bc475e33d0 100644
--- a/installNFS.yml
+++ b/installNFS.yml
@@ -11,9 +11,6 @@
     - nfs-server
   sudo: true
   vars: 
-    ansible_ssh_private_key_file: "/home/sgeadmin/.ssh/shahaan.pem"
-    ansible_ssh_user: "ec2-user"
-    nfs_network: "10.8.0.0/16"
     x509_ca_server: vm-118-138-240-224.erc.monash.edu.au
 - 
   hosts: openvpn-clients
@@ -23,12 +20,10 @@
     - easy-rsa-certificate 
     - OpenVPN-Client
     - nfs-common
+    - syncExports
     - nfs-client
   sudo: true
   vars: 
-    ansible_ssh_private_key_file: "/home/sgeadmin/.ssh/shahaan.pem"
-    ansible_ssh_user: "ec2-user"
     x509_ca_server: vm-118-138-240-224.erc.monash.edu.au
     openvpn_servers: ['vm-118-138-240-224.erc.monash.edu.au']
-    server: vm-118-138-240-224.erc.monash.edu.au
-    nfs_server: "10.8.0.1"
+    nfs_server: "vm-118-138-240-224.erc.monash.edu.au"
diff --git a/roles/OpenVPN-Server/templates/server.conf.j2 b/roles/OpenVPN-Server/templates/server.conf.j2
index 9d9d5fef88145687378d9e307d5adad91166b364..5ba9060993fcf9f26c181c458071dcfcc9fdc6b2 100644
--- a/roles/OpenVPN-Server/templates/server.conf.j2
+++ b/roles/OpenVPN-Server/templates/server.conf.j2
@@ -93,7 +93,7 @@ dh {{ dhparms_file }}
 # Each client will be able to reach the server
 # on 10.8.0.1. Comment this line out if you are
 # ethernet bridging. See the man page for more info.
-server 10.8.0.0 255.255.255.0
+server {{ server_network }} {{ server_netmask }}
 
 # Maintain a record of client <-> virtual IP address
 # associations in this file.  If OpenVPN goes down or
diff --git a/roles/OpenVPN-Server/vars/main.yml b/roles/OpenVPN-Server/vars/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ae69f9692b264b7b03980e14253c31ea3298b723
--- /dev/null
+++ b/roles/OpenVPN-Server/vars/main.yml
@@ -0,0 +1,9 @@
+---
+x509_csr_args: "--server"
+x509_cacert_file: "/etc/ssl/certs/ca.crt"
+x509_key_file: "/etc/openvpn/private/server.key"
+x509_cert_file: "/etc/openvpn/certs/server.crt"
+x509_common_name: "{{ ansible_fqdn }}_OpenVPN_Server"
+dhparms_file: "/etc/openvpn/private/dh.pem"
+server_network: "10.8.0.0"
+server_netmask: "255.255.255.0"
diff --git a/roles/nfs-server/tasks/startServer.yml b/roles/nfs-server/tasks/startServer.yml
index e85f8b1efdcc4ffd02bbc18774c5058b55c14e84..b62b877ae6bc8ec0c144607791c590df857d738f 100644
--- a/roles/nfs-server/tasks/startServer.yml
+++ b/roles/nfs-server/tasks/startServer.yml
@@ -8,4 +8,3 @@
 - name: "Start the Server"
   service: "name=nfs state=restarted"
   sudo: true
-
diff --git a/roles/nfs-server/templates/exports.j2 b/roles/nfs-server/templates/exports.j2
deleted file mode 100644
index 56b3f0f3f0e5f19362c9e0fabffab42697578f7c..0000000000000000000000000000000000000000
--- a/roles/nfs-server/templates/exports.j2
+++ /dev/null
@@ -1 +0,0 @@
-{{ nfsServerSrcDir }} {{ nfs_network }}{{ nfsServerMountOption }}
diff --git a/roles/syncExports/tasks/addExports.yml b/roles/syncExports/tasks/addExports.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fb08d1acbd9ca8c66ee1dea5522ea1cc1839e82c
--- /dev/null
+++ b/roles/syncExports/tasks/addExports.yml
@@ -0,0 +1,6 @@
+---
+-
+  name: "Templating /etc/exports"
+  template: src=exports.j2 dest=/etc/exports owner=root group=root mode=644
+  delegate_to: "{{ nfs_server }}"
+  run_once: true
diff --git a/roles/syncExports/tasks/main.yml b/roles/syncExports/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..087f43771a0a0b53c17afdae456a2dea4dd21958
--- /dev/null
+++ b/roles/syncExports/tasks/main.yml
@@ -0,0 +1,2 @@
+---
+- include : addExports.yml
diff --git a/roles/syncExports/templates/exports.j2 b/roles/syncExports/templates/exports.j2
new file mode 100644
index 0000000000000000000000000000000000000000..2949f722693811f3a3253953917e92269f809fbb
--- /dev/null
+++ b/roles/syncExports/templates/exports.j2
@@ -0,0 +1,4 @@
+{% for src in srcDir %}
+{{ src }} {% for node in  groups['openvpn-clients'] %}{% for ip in hostvars[node]['ansible_all_ipv4_addresses'] %}{{ ip }}(rw,sync,root_squash) {% endfor %}{% endfor %}
+
+{% endfor %}
diff --git a/syncNFS.yml b/syncNFS.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f538c66e3b43190e071a396b38c5f72d6dbd5f71
--- /dev/null
+++ b/syncNFS.yml
@@ -0,0 +1,14 @@
+--- 
+- 
+  hosts: openvpn-clients
+  remote_user: ec2-user
+  roles: 
+    - syncExports
+    - nfs-client
+  sudo: true
+  vars: 
+    nfs_server: "vm-118-138-240-224.erc.monash.edu.au"
+    openvpn_servers: 
+      - vm-118-138-240-224.erc.monash.edu.au
+    x509_ca_server: vm-118-138-240-224.erc.monash.edu.au
+