diff --git a/xos/synchronizer/manifest b/xos/synchronizer/manifest
deleted file mode 100644
index ecf2f26..0000000
--- a/xos/synchronizer/manifest
+++ /dev/null
@@ -1,10 +0,0 @@
-manifest
-steps/sync_vsgwtenant.py
-steps/roles/install_apache/tasks/main.yml
-steps/roles/create_index/templates/index.html.j2
-steps/roles/create_index/tasks/main.yml
-steps/vsgwtenant_playbook.yaml
-vsgwservice-synchronizer.py
-model-deps
-run.sh
-vsgservice_config
diff --git a/xos/synchronizer/run.sh b/xos/synchronizer/run.sh
deleted file mode 100755
index da12ee3..0000000
--- a/xos/synchronizer/run.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-export XOS_DIR=/opt/xos
-python vsgwservice-synchronizer.py  -C $XOS_DIR/synchronizers/vsgw/vsgwservice_config
diff --git a/xos/synchronizer/steps/exampletenant_playbook.yaml b/xos/synchronizer/steps/exampletenant_playbook.yaml
deleted file mode 100644
index 9ec8937..0000000
--- a/xos/synchronizer/steps/exampletenant_playbook.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-# vsgwtenant_playbook
-
-- hosts: "{{ instance_name }}"
-  connection: ssh
-  user: ubuntu
-  sudo: yes
-  gather_facts: no
-  vars:
-    - tenant_message: "{{ tenant_message }}"
-    - service_message: "{{ service_message }}"
-
-  roles:
-    - install_apache
-    - create_index
-
diff --git a/xos/synchronizer/steps/roles/create_index/tasks/main.yml b/xos/synchronizer/steps/roles/create_index/tasks/main.yml
deleted file mode 100644
index 91c6029..0000000
--- a/xos/synchronizer/steps/roles/create_index/tasks/main.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-
-- name: Write index.html file to apache document root
-  template:
-    src=index.html.j2
-    dest=/var/www/html/index.html
-
diff --git a/xos/synchronizer/steps/roles/create_index/templates/index.html.j2 b/xos/synchronizer/steps/roles/create_index/templates/index.html.j2
deleted file mode 100644
index 9c3e8fc..0000000
--- a/xos/synchronizer/steps/roles/create_index/templates/index.html.j2
+++ /dev/null
@@ -1,4 +0,0 @@
-VSGWService
- Service Message: "{{ service_message }}"
- Tenant Message: "{{ tenant_message }}"
-
diff --git a/xos/synchronizer/steps/roles/install_apache/tasks/main.yml b/xos/synchronizer/steps/roles/install_apache/tasks/main.yml
deleted file mode 100644
index d9a155c..0000000
--- a/xos/synchronizer/steps/roles/install_apache/tasks/main.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-
-- name: Install apache using apt
-  apt:
-    name=apache2
-    update_cache=yes
-
diff --git a/xos/synchronizer/steps/sync_vsgw.py b/xos/synchronizer/steps/sync_vsgw.py
new file mode 100644
index 0000000..ddc06e9
--- /dev/null
+++ b/xos/synchronizer/steps/sync_vsgw.py
@@ -0,0 +1,40 @@
+import os
+import sys
+from django.db.models import Q, F
+from services.vsgw.models import VSGWService, VSGWTenant
+from synchronizers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
+
+parentdir = os.path.join(os.path.dirname(__file__), "..")
+sys.path.insert(0, parentdir)
+
+class SyncVSGWTenant(SyncInstanceUsingAnsible):
+
+    provides = [VSGWTenant]
+
+    observes = VSGWTenant
+
+    requested_interval = 0
+
+    template_name = "sync_vsgw.yaml"
+
+    service_key_name = "/opt/xos/synchronizers/vsgw/vsgw_private_key"
+
+    def __init__(self, *args, **kwargs):
+        super(SyncVSGWTenant, self).__init__(*args, **kwargs)
+
+    def fetch_pending(self, deleted):
+
+        if (not deleted):
+            objs = VSGWTenant.get_tenant_objects().filter(
+                Q(enacted__lt=F('updated')) | Q(enacted=None), Q(lazy_blocked=False))
+        else:
+            # If this is a deletion we get all of the deleted tenants..
+            objs = VSGWTenant.get_deleted_tenant_objects()
+
+        return objs
+
+    def get_extra_attributes(self, o):
+        fields = {}
+        fields['tenant_message'] = o.tenant_message
+        return fields
+
diff --git a/xos/synchronizer/steps/sync_vsgw.yaml b/xos/synchronizer/steps/sync_vsgw.yaml
new file mode 100644
index 0000000..8cd59b7
--- /dev/null
+++ b/xos/synchronizer/steps/sync_vsgw.yaml
@@ -0,0 +1,27 @@
+---
+- hosts: {{ instance_name }}
+  connection: ssh
+  user: ubuntu
+  sudo: yes
+  gather_facts: no
+  tasks:
+
+  vars:
+    - tenant_message: "{{ tenant_message }}"
+  
+#  - name: Write message
+#    shell: echo "{{ tenant_message }}" > /var/tmp/index.html
+#
+#  - name: setup s1u interface config
+#    shell: ./start_3gpp_int.sh eth1 {{ s1u_sgw_tag }} {{ s1u_sgw_ip }}/24
+#
+#  - name: setup s11 interface config
+#    shell: ./start_3gpp_int.sh eth2 {{ s11_sgw_tag }} {{ s11_sgw_ip }}/24
+#
+#  - name: setup s5s8 interface config
+#    shell: ./start_3gpp_int.sh eth3 {{ s5s8_sgw_tag }} {{ s5s8_sgw_ip }}/24
+  
+#  roles:
+#    - install_apache
+#    - create_index
+
diff --git a/xos/synchronizer/steps/sync_vsgwtenant.py b/xos/synchronizer/steps/sync_vsgwtenant.py
deleted file mode 100644
index 38f9969..0000000
--- a/xos/synchronizer/steps/sync_vsgwtenant.py
+++ /dev/null
@@ -1,55 +0,0 @@
-import os
-import sys
-from django.db.models import Q, F
-from services.vsgwservice.models import VSGWService, VSGWTenant
-from synchronizers.base.SyncInstanceUsingAnsible import SyncInstanceUsingAnsible
-
-parentdir = os.path.join(os.path.dirname(__file__), "..")
-sys.path.insert(0, parentdir)
-
-class SyncVSGWTenant(SyncInstanceUsingAnsible):
-
-    provides = [VSGWTenant]
-
-    observes = VSGWTenant
-
-    requested_interval = 0
-
-    template_name = "vsgwtenant_playbook.yaml"
-
-    service_key_name = "/opt/xos/synchronizers/vsgwservice/vsgwservice_private_key"
-
-    def __init__(self, *args, **kwargs):
-        super(SyncVSGWTenant, self).__init__(*args, **kwargs)
-
-    def fetch_pending(self, deleted):
-
-        if (not deleted):
-            objs = VSGWTenant.get_tenant_objects().filter(
-                Q(enacted__lt=F('updated')) | Q(enacted=None), Q(lazy_blocked=False))
-        else:
-            # If this is a deletion we get all of the deleted tenants..
-            objs = VSGWTenant.get_deleted_tenant_objects()
-
-        return objs
-
-    def get_exampleservice(self, o):
-        if not o.provider_service:
-            return None
-
-        vsgwservice = VSGWService.get_service_objects().filter(id=o.provider_service.id)
-
-        if not vsgwservice:
-            return None
-
-        return vsgwservice[0]
-
-    # Gets the attributes that are used by the Ansible template but are not
-    # part of the set of default attributes.
-    def get_extra_attributes(self, o):
-        fields = {}
-        fields['tenant_message'] = o.tenant_message
-        vsgwservice = self.get_vsgwservice(o)
-        fields['service_message'] = vsgwservice.service_message
-        return fields
-
diff --git a/xos/synchronizer/vsgwservice-synchronizer.py b/xos/synchronizer/vsgw-synchronizer.py
similarity index 100%
rename from xos/synchronizer/vsgwservice-synchronizer.py
rename to xos/synchronizer/vsgw-synchronizer.py
diff --git a/xos/synchronizer/vsgw_config b/xos/synchronizer/vsgw_config
new file mode 100644
index 0000000..58eaf9a
--- /dev/null
+++ b/xos/synchronizer/vsgw_config
@@ -0,0 +1,28 @@
+# Required by XOS
+[db]
+name=xos
+user=postgres
+password=password
+host=localhost
+port=5432
+
+# Required by XOS
+[api]
+nova_enabled=True
+
+# Sets options for the synchronizer
+[observer]
+name=vsgw
+dependency_graph=/opt/xos/synchronizers/vsgw/model-deps
+steps_dir=/opt/xos/synchronizers/vsgw/steps
+sys_dir=/opt/xos/synchronizers/vsgw/sys
+logfile=/var/log/xos_backend.log
+pretend=False
+backoff_disabled=True
+save_ansible_output=True
+proxy_ssh=True
+proxy_ssh_key=/root/setup/id_rsa
+proxy_ssh_user=root
+enable_watchers=True
+[networking]
+use_vtn=True
diff --git a/xos/synchronizer/vsgwservice_config b/xos/synchronizer/vsgwservice_config
deleted file mode 100644
index 47c9354..0000000
--- a/xos/synchronizer/vsgwservice_config
+++ /dev/null
@@ -1,24 +0,0 @@
-# Required by XOS
-[db]
-name=xos
-user=postgres
-password=password
-host=localhost
-port=5432
-
-# Required by XOS
-[api]
-nova_enabled=True
-
-# Sets options for the synchronizer
-[observer]
-name=vsgwservice
-dependency_graph=/opt/xos/synchronizers/vsgwservice/model-deps
-steps_dir=/opt/xos/synchronizers/vsgwservice/steps
-sys_dir=/opt/xos/synchronizers/vsgwservice/sys
-logfile=/var/log/xos_backend.log
-pretend=False
-backoff_disabled=True
-save_ansible_output=True
-proxy_ssh=False
-
