diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index 5509461..9753e99 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -51,4 +51,4 @@
       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 "service filebeat start; cd /opt/xos/synchronizers/vmme; ./run-from-api.sh"
+CMD ["/usr/bin/python", "/opt/xos/synchronizers/vmme/vmme-synchronizer.py"]
diff --git a/xos/synchronizer/Dockerfile.synchronizer b/xos/synchronizer/Dockerfile.synchronizer
deleted file mode 100644
index 020a49d..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/vmme-synchronizer
-FROM xosproject/xos-synchronizer-base:candidate
-
-COPY . /opt/xos/synchronizers/vmme
-
-ENTRYPOINT []
-
-WORKDIR "/opt/xos/synchronizers/vmme"
-
-# Label image
-ARG org_label_schema_schema_version=1.0
-ARG org_label_schema_name=vmme-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 "service filebeat start; cd /opt/xos/synchronizers/vmme; ./run-from-api.sh"
diff --git a/xos/synchronizer/vmme_config.yaml b/xos/synchronizer/config.yaml
similarity index 94%
rename from xos/synchronizer/vmme_config.yaml
rename to xos/synchronizer/config.yaml
index 587736a..3425a60 100644
--- a/xos/synchronizer/vmme_config.yaml
+++ b/xos/synchronizer/config.yaml
@@ -21,7 +21,6 @@
   - VMMEService
   - VMMEVendor
   - VMMETenant
-dependency_graph: "/opt/xos/synchronizers/vmme/model-deps"
 steps_dir: "/opt/xos/synchronizers/vmme/steps"
 sys_dir: "/opt/xos/synchronizers/vmme/sys"
 models_dir: "/opt/xos/synchronizers/vmme/models"
diff --git a/xos/synchronizer/model-deps b/xos/synchronizer/model-deps
deleted file mode 100644
index 0967ef4..0000000
--- a/xos/synchronizer/model-deps
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/xos/synchronizer/run-from-api.sh b/xos/synchronizer/run-from-api.sh
deleted file mode 100755
index 0ffdc57..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 vmme-synchronizer.py
\ No newline at end of file
diff --git a/xos/synchronizer/vmme-synchronizer.py b/xos/synchronizer/vmme-synchronizer.py
index f27df81..76e18bc 100755
--- a/xos/synchronizer/vmme-synchronizer.py
+++ b/xos/synchronizer/vmme-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__)) + '/vmme_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)
