diff --git a/bbfdm/Makefile b/bbfdm/Makefile
index 0c9aae39a012477498ce523997443601e1e85e36..890f1d0d3e08ffaad5cf85dc51bfad406be1af48 100644
--- a/bbfdm/Makefile
+++ b/bbfdm/Makefile
@@ -5,13 +5,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bbfdm
-PKG_VERSION:=1.14.5
+PKG_VERSION:=1.15.0
 
 USE_LOCAL:=0
 ifneq ($(USE_LOCAL),1)
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://dev.iopsys.eu/bbf/bbfdm.git
-PKG_SOURCE_VERSION:=c5ba89769d907e8cfebbc64351eb99ace75712c6
+PKG_SOURCE_VERSION:=f21814dd4e31233c5d62145eb08c68702a3f4685
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 PKG_MIRROR_HASH:=skip
 endif
@@ -154,6 +154,9 @@ define Package/dm-service/install
 
 	$(INSTALL_DIR) $(1)/usr/sbin
 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/dm-service/dm-service $(1)/usr/sbin/
+
+	$(BBFDM_REGISTER_SERVICES) -v ${CONFIG_BBF_VENDOR_PREFIX} ./bbfdm_service.json $(1) core
+	$(BBFDM_INSTALL_MS_DM) $(PKG_BUILD_DIR)/libbbfdm/libcore.so $(1) core
 endef
 
 define Package/bbf_configmngr/install
diff --git a/bbfdm/bbfdm.mk b/bbfdm/bbfdm.mk
index dfb0e3d80a0e087f0fd855132e3aa87829d883ca..bfc2ec893636f5813bfb57125fe66cdfd1b89912 100644
--- a/bbfdm/bbfdm.mk
+++ b/bbfdm/bbfdm.mk
@@ -89,28 +89,3 @@ BBFDM_INSTALL_SCRIPT:=$(BBFDM_DIR)/tools/bbfdm.sh -s
 
 
 BBFDM_REGISTER_SERVICES:=$(BBFDM_DIR)/tools/bbfdm.sh -t
-
-# Deprecated functions errors
-define BbfdmInstallPluginInMicroservice
-	$(warning # BbfdmInstallPluginInMicroservice function is deprecated, use BBFDM_INSTALL_MS_PLUGIN macro #)
-	$(INSTALL_DIR) $(1)
-	$(INSTALL_DATA) $(2) $(1)/
-endef
-
-define BbfdmInstallMicroServiceInputFile
-	$(warning # function BbfdmInstallMicroServiceInputFile deprecated, input file auto generated with BBFDM_INSTALL_MS_DM #)
-	$(INSTALL_DIR) $(1)/etc/bbfdm/micro_services
-	$(INSTALL_DATA) $(2) $(1)/etc/bbfdm/micro_services/$(PKG_NAME).json
-endef
-
-define BbfdmInstallPlugin
-	$(warning # function BbfdmInstallPlugin deprecated, use BBFDM_INSTALL_CORE_PLUGIN macro #)
-	$(INSTALL_DIR) $(1)/etc/bbfdm/plugins
-	$(INSTALL_DATA) $(2) $(1)/etc/bbfdm/plugins/
-endef
-
-define BbfdmInstallPluginWithPriority
-	$(warning # fucntion BbfdmInstallPluginWithPriority deprecated, use BBFDM_INSTALL_CORE_PLUGIN #)
-	$(INSTALL_DIR) $(1)/etc/bbfdm/plugins
-	$(INSTALL_DATA) $(3) $(1)/etc/bbfdm/plugins/$(2)_$(shell basename ${3})
-endef
diff --git a/bbfdm/bbfdm_service.json b/bbfdm/bbfdm_service.json
new file mode 100644
index 0000000000000000000000000000000000000000..39fe8e61a21c8ab1bbc271bc43d7ed72e89e2a01
--- /dev/null
+++ b/bbfdm/bbfdm_service.json
@@ -0,0 +1,58 @@
+{
+  "daemon": {
+    "enable": "1",
+    "service_name": "core",
+    "unified_daemon": false,
+    "services": [
+      {
+        "parent_dm": "Device.",
+        "object": "LANConfigSecurity"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "Schedules"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "Security",
+        "proto": "cwmp"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "GatewayInfo"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "PacketCaptureDiagnostics"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "SelfTestDiagnostics"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "Syslog"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "{BBF_VENDOR_PREFIX}OpenVPN",
+        "proto": "usp"
+      },	  
+      {
+        "parent_dm": "Device.",
+        "object": "RootDataModelVersion"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "Reboot()"
+      },
+      {
+        "parent_dm": "Device.",
+        "object": "FactoryReset()"
+      }
+    ],
+    "config": {
+      "loglevel": "3"
+    }
+  }
+}
\ No newline at end of file
diff --git a/bbfdm/tools/bbfdm.sh b/bbfdm/tools/bbfdm.sh
index b8220c714022534452f872fccb404e53f3b7b189..b3b69a2ca4b576c87aa02d16b21a59c834ce1aee 100755
--- a/bbfdm/tools/bbfdm.sh
+++ b/bbfdm/tools/bbfdm.sh
@@ -180,14 +180,15 @@ if [ "${MICRO_SERVICE}" -eq "1" ]; then
 	fi
 else
 	if [ "${PLUGIN}" -eq "1" ]; then
+		echo "# WARNING: BBFDM_INSTALL_CORE_PLUGIN macro will be deprecated soon. Please use BBFDM_INSTALL_MS_PLUGIN macro instead, specifying 'core' as micro-service name #"
 		priority="${DATA:-0}"
-		install_dir ${DEST}/${BBFDM_BASE_DM_PATH}/plugins
+		install_dir ${DEST}/${BBFDM_BASE_DM_PATH}/micro_services/core
 
 		if [ "${priority}" -gt "0" ]; then
 			# install with priority if defined
-			bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/plugins/${priority}_$(basename ${SRC})
+			bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/micro_services/core/${priority}_$(basename ${SRC})
 		elif [ "${priority}" -eq "0" ]; then
-			bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/plugins/$(basename ${SRC})
+			bbfdm_install_dm ${SRC} ${DEST}/${BBFDM_BASE_DM_PATH}/micro_services/core/$(basename ${SRC})
 		else
 			echo "# Priority should be an unsigned integer"
 			exit 1