diff --git a/bbfdm/Makefile b/bbfdm/Makefile
index d02ae364fdcdbd706fffc3f7d8c34c7f8386d11a..daff4618cef7e16915245295cc764e5853a53fcc 100644
--- a/bbfdm/Makefile
+++ b/bbfdm/Makefile
@@ -49,17 +49,6 @@ define Package/bbfdmd
   DEPENDS:=+libuci +libubox +libubus +libblobmsg-json +libbbfdm-api +libbbfdm
 endef
 
-define Package/userinterface
-  SECTION:=utils
-  CATEGORY:=Utilities
-  SUBMENU:=TRx69
-  TITLE:=Package to add Device.UserInterface. datamodel support
-endef
-
-define Package/userinterface/description
-  Package to add Device.UserInterface. datamodel support
-endef
-
 define Package/libbbfdm/config
 	source "$(SOURCE)/Config_bbfdm.in"
 endef
@@ -151,19 +140,6 @@ define Package/bbfdmd/install
 	$(INSTALL_BIN) ./files/etc/hotplug.d/iface/85-bbfdm-sysctl $(1)/etc/hotplug.d/iface/85-bbfdm-sysctl
 endef
 
-define Package/userinterface/install
-	$(INSTALL_DIR) $(1)/etc/config
-	$(INSTALL_DIR) $(1)/etc/uci-defaults
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
-	$(INSTALL_DATA) ./files/etc/config/userinterface $(1)/etc/config/userinterface
-	$(INSTALL_DATA) ./files/lib/upgrade/keep.d/userinterface $(1)/lib/upgrade/keep.d/userinterface
-	$(INSTALL_BIN) ./files/etc/init.d/userinterface $(1)/etc/init.d/userinterface
-	$(INSTALL_BIN) ./files/etc/uci-defaults/93-userinterface-firewall $(1)/etc/uci-defaults/93-userinterface-firewall
-	$(INSTALL_BIN) ./files/etc/uci-defaults/94-userinterface-json $(1)/etc/uci-defaults/94-userinterface-json
-	$(INSTALL_BIN) ./files/etc/firewall.userinterface $(1)/etc/firewall.userinterface
-endef
-
 define Build/InstallDev
 	$(INSTALL_DIR) $(1)/usr/lib
 	$(INSTALL_DIR) $(1)/usr/include
@@ -175,5 +151,3 @@ endef
 $(eval $(call BuildPackage,libbbfdm-api))
 $(eval $(call BuildPackage,libbbfdm))
 $(eval $(call BuildPackage,bbfdmd))
-
-$(eval $(call BuildPackage,userinterface))
diff --git a/userinterface/Makefile b/userinterface/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..28a48e0473ac161ca75e712a8e3361a66de66b85
--- /dev/null
+++ b/userinterface/Makefile
@@ -0,0 +1,43 @@
+#
+# Copyright (C) 2023 IOPSYS
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=userinterface
+PKG_VERSION:=1.0.0
+
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/userinterface
+  SECTION:=utils
+  CATEGORY:=Utilities
+  SUBMENU:=TRx69
+  TITLE:=Package to add Device.UserInterface. datamodel support using bbfdm
+endef
+
+define Package/userinterface/description
+  Package to add Device.UserInterface. datamodel support
+endef
+
+define Build/Compile
+	# Pass
+endef
+
+define Package/userinterface/install
+	$(INSTALL_DIR) $(1)/etc/config
+	$(INSTALL_DIR) $(1)/etc/uci-defaults
+	$(INSTALL_DIR) $(1)/etc/init.d
+	$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
+	$(INSTALL_DATA) ./files/etc/config/userinterface $(1)/etc/config/userinterface
+	$(INSTALL_DATA) ./files/lib/upgrade/keep.d/userinterface $(1)/lib/upgrade/keep.d/userinterface
+	$(INSTALL_BIN) ./files/etc/init.d/userinterface $(1)/etc/init.d/userinterface
+	$(INSTALL_BIN) ./files/etc/uci-defaults/93-userinterface-firewall $(1)/etc/uci-defaults/93-userinterface-firewall
+	$(INSTALL_BIN) ./files/etc/uci-defaults/94-userinterface-json $(1)/etc/uci-defaults/94-userinterface-json
+	$(INSTALL_BIN) ./files/etc/firewall.userinterface $(1)/etc/firewall.userinterface
+endef
+
+$(eval $(call BuildPackage,userinterface))
diff --git a/userinterface/bbfdm.mk b/userinterface/bbfdm.mk
new file mode 100644
index 0000000000000000000000000000000000000000..f3e8910193749a243d157775bcf04d303009254d
--- /dev/null
+++ b/userinterface/bbfdm.mk
@@ -0,0 +1,9 @@
+#
+# Copyright (C) 2023 IOPSYS
+#
+
+
+define BbfdmInstallPlugin
+	$(INSTALL_DIR) $(1)/etc/bbfdm/plugins
+	$(INSTALL_DATA) $(2) $(1)/etc/bbfdm/plugins/
+endef
diff --git a/bbfdm/files/etc/config/userinterface b/userinterface/files/etc/config/userinterface
similarity index 100%
rename from bbfdm/files/etc/config/userinterface
rename to userinterface/files/etc/config/userinterface
diff --git a/bbfdm/files/etc/firewall.userinterface b/userinterface/files/etc/firewall.userinterface
similarity index 100%
rename from bbfdm/files/etc/firewall.userinterface
rename to userinterface/files/etc/firewall.userinterface
diff --git a/bbfdm/files/etc/init.d/userinterface b/userinterface/files/etc/init.d/userinterface
similarity index 100%
rename from bbfdm/files/etc/init.d/userinterface
rename to userinterface/files/etc/init.d/userinterface
diff --git a/bbfdm/files/etc/uci-defaults/93-userinterface-firewall b/userinterface/files/etc/uci-defaults/93-userinterface-firewall
similarity index 100%
rename from bbfdm/files/etc/uci-defaults/93-userinterface-firewall
rename to userinterface/files/etc/uci-defaults/93-userinterface-firewall
diff --git a/bbfdm/files/etc/uci-defaults/94-userinterface-json b/userinterface/files/etc/uci-defaults/94-userinterface-json
similarity index 100%
rename from bbfdm/files/etc/uci-defaults/94-userinterface-json
rename to userinterface/files/etc/uci-defaults/94-userinterface-json
diff --git a/bbfdm/files/lib/upgrade/keep.d/userinterface b/userinterface/files/lib/upgrade/keep.d/userinterface
similarity index 100%
rename from bbfdm/files/lib/upgrade/keep.d/userinterface
rename to userinterface/files/lib/upgrade/keep.d/userinterface