diff --git a/xos/synchronizer/Dockerfile.synchronizer b/xos/synchronizer/Dockerfile.synchronizer
deleted file mode 100644
index da11728..0000000
--- a/xos/synchronizer/Dockerfile.synchronizer
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# xosproject/vspgwu-synchronizer
-FROM xosproject/xos-synchronizer-base:candidate
-
-COPY . /opt/xos/synchronizers/vspgwu
-
-ENTRYPOINT []
-
-WORKDIR "/opt/xos/synchronizers/vspgwu"
-
-# Label image
-ARG org_label_schema_schema_version=1.0
-ARG org_label_schema_name=vspgwu-synchronizer
-ARG org_label_schema_version=unknown
-ARG org_label_schema_vcs_url=unknown
-ARG org_label_schema_vcs_ref=unknown
-ARG org_label_schema_build_date=unknown
-ARG org_opencord_vcs_commit_date=unknown
-ARG org_opencord_component_chameleon_version=unknown
-ARG org_opencord_component_chameleon_vcs_url=unknown
-ARG org_opencord_component_chameleon_vcs_ref=unknown
-ARG org_opencord_component_xos_version=unknown
-ARG org_opencord_component_xos_vcs_url=unknown
-ARG org_opencord_component_xos_vcs_ref=unknown
-
-LABEL org.label-schema.schema-version=$org_label_schema_schema_version \
-      org.label-schema.name=$org_label_schema_name \
-      org.label-schema.version=$org_label_schema_version \
-      org.label-schema.vcs-url=$org_label_schema_vcs_url \
-      org.label-schema.vcs-ref=$org_label_schema_vcs_ref \
-      org.label-schema.build-date=$org_label_schema_build_date \
-      org.opencord.vcs-commit-date=$org_opencord_vcs_commit_date \
-      org.opencord.component.chameleon.version=$org_opencord_component_chameleon_version \
-      org.opencord.component.chameleon.vcs-url=$org_opencord_component_chameleon_vcs_url \
-      org.opencord.component.chameleon.vcs-ref=$org_opencord_component_chameleon_vcs_ref \
-      org.opencord.component.xos.version=$org_opencord_component_xos_version \
-      org.opencord.component.xos.vcs-url=$org_opencord_component_xos_vcs_url \
-      org.opencord.component.xos.vcs-ref=$org_opencord_component_xos_vcs_ref
-
-CMD bash -c "cd /opt/xos/synchronizers/vspgwu; ./run-from-api.sh"
diff --git a/xos/synchronizer/vspgwu_config.yaml b/xos/synchronizer/config.yaml
similarity index 89%
rename from xos/synchronizer/vspgwu_config.yaml
rename to xos/synchronizer/config.yaml
index 5c7d0fb..74bce83 100644
--- a/xos/synchronizer/vspgwu_config.yaml
+++ b/xos/synchronizer/config.yaml
@@ -14,9 +14,6 @@
 
 
 name: vspgwu
-accessor:
-  username: xosadmin@opencord.org
-  password: "@/opt/xos/services/vspgwu/credentials/xosadmin@opencord.org"
 required_models:
   - VSPGWUService
   - VSPGWUVendor
@@ -26,6 +23,16 @@
 sys_dir: "/opt/xos/synchronizers/vspgwu/sys"
 model_policies_dir: "/opt/xos/synchronizers/vspgwu/model_policies"
 models_dir: "/opt/xos/synchronizers/vspgwu/models"
+logging:
+  version: 1
+  handlers:
+    console:
+      class: logging.StreamHandler
+  loggers:
+    'multistructlog':
+      handlers:
+          - console
+      level: DEBUG
 blueprints:
   - name: cord_5_0_blueprint
     graph:
diff --git a/xos/synchronizer/run-from-api.sh b/xos/synchronizer/run-from-api.sh
deleted file mode 100755
index 4222f2f..0000000
--- a/xos/synchronizer/run-from-api.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 2017-present Open Networking Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-
-python vspgwu-synchronizer.py
diff --git a/xos/synchronizer/vspgwu-synchronizer.py b/xos/synchronizer/vspgwu-synchronizer.py
index e21bee0..76e18bc 100755
--- a/xos/synchronizer/vspgwu-synchronizer.py
+++ b/xos/synchronizer/vspgwu-synchronizer.py
@@ -19,11 +19,16 @@
 import importlib
 import os
 import sys
-
 from xosconfig import Config
-config_file = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/vspgwu_config.yaml')
 
-Config.init(config_file, 'synchronizer-config-schema.yaml')
+base_config_file = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/config.yaml')
+mounted_config_file = os.path.abspath(os.path.dirname(os.path.realpath(__file__)) + '/mounted_config.yaml')
+
+if os.path.isfile(mounted_config_file):
+    Config.init(base_config_file, 'synchronizer-config-schema.yaml', mounted_config_file)
+else:
+    Config.init(base_config_file, 'synchronizer-config-schema.yaml')
+
 observer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../synchronizers/new_base")
 
 sys.path.append(observer_path)
