diff --git a/Makefile b/Makefile
index 63557f7087aabf66b1061fa96339ba268ba73431..88f9f38a0b3d64f69e168c089014251631a27284 100644
--- a/Makefile
+++ b/Makefile
@@ -56,7 +56,7 @@ generate-csbi-yang-models: install-tools
 	../../$(TOOLS_DIR)/go-ygot-generator-generator config.yaml gostructs.go &&\
 	go generate
 
-build: pre build-gosdn build-gosdnc build-orchestrator build-venv-manager build-arista-routing-engine-app build-hostname-checker-app
+build: pre build-gosdn build-gosdnc build-orchestrator build-venv-manager build-arista-routing-engine-app build-hostname-checker-app build-basic-interface-monitoring-app
 
 build-gosdn: pre
 	$(GOBUILD) -trimpath -o $(BUILD_ARTIFACTS_PATH)/gosdn ./controller/cmd/gosdn
@@ -76,6 +76,9 @@ build-arista-routing-engine-app: pre
 build-hostname-checker-app: pre
 	$(GOBUILD) -trimpath -o $(BUILD_ARTIFACTS_PATH)/hostname-checker ./applications/hostname-checker
 
+build-basic-interface-monitoring-app: pre
+	$(GOBUILD) -trimpath -o $(BUILD_ARTIFACTS_PATH)/basic-interface-monitoring ./applications/basic-interface-monitoring
+
 containerize-all: containerize-gosdn containerize-gosdnc containerize-orchestrator containerize-target
 
 containerize-gosdn:
diff --git a/applications/basic-interface-monitoring/http.go b/applications/basic-interface-monitoring/http.go
index 76989f85b5874c7fbab22ddc6cf195f8a2ce52be..6e7d35f868958bbcc07290d5ec9664c87e7571b3 100644
--- a/applications/basic-interface-monitoring/http.go
+++ b/applications/basic-interface-monitoring/http.go
@@ -12,7 +12,7 @@ var clientChannels = make(map[chan []byte]bool)
 // StartHTTPServer starts the HTTP server to provide the monitoring page.
 func StartHTTPServer() error {
 	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
-		http.ServeFile(w, r, "webpage/index.html")
+		http.ServeFile(w, r, indexPath)
 	})
 	http.HandleFunc("/sse", sseHandler)
 
diff --git a/applications/basic-interface-monitoring/main.go b/applications/basic-interface-monitoring/main.go
index 5b63758127f647129235d4432e87ea259817d784..5f451c99a2287e7be7a3e3cd46b42c6dc39d6f5e 100644
--- a/applications/basic-interface-monitoring/main.go
+++ b/applications/basic-interface-monitoring/main.go
@@ -1,6 +1,7 @@
 package main
 
 import (
+	"flag"
 	"os"
 
 	"code.fbi.h-da.de/danet/gosdn/application-framework/event"
@@ -8,8 +9,16 @@ import (
 	"github.com/sirupsen/logrus"
 )
 
+var controllerAddress string
+var indexPath string
+
 func main() {
-	queueCredentials, err := registration.Register("localhost:55055", "basic-interface-monitoring", "SecurePresharedToken")
+	flag.StringVar(&indexPath, "path", "webpage/index.html", "path to the webpage index.html file")
+	flag.StringVar(&controllerAddress, "controller-address", "localhost:55055", "the address to the controller")
+
+	flag.Parse()
+
+	queueCredentials, err := registration.Register(controllerAddress, "basic-interface-monitoring", "SecurePresharedToken")
 	if err != nil {
 		logrus.Errorf("failed to register application on control plane. %v", err)
 		os.Exit(1)
@@ -29,5 +38,5 @@ func main() {
 		stopChannel:                 make(chan os.Signal, 1),
 	}
 
-	app.Run("localhost:55055")
+	app.Run(controllerAddress)
 }