diff --git a/gateway.go b/gateway.go
index 66204f3551757786f487832c496737e3c70be2d1..2503589a560e1952fcda69d2739db60117b1d8b4 100644
--- a/gateway.go
+++ b/gateway.go
@@ -22,14 +22,14 @@ var (
 
 func GetGW() *Gateway {
 	once.Do(func() {
-		baseAdrr, _ := uuid.FromString("64eacb5a-8181-11ef-0000-000000000000")
-		instance = &Gateway{baseAddr: baseAdrr, devices: make(map[string]*Z2MDevice)}
+		instance = &Gateway{devices: make(map[string]*Z2MDevice)}
 	})
 	return instance
 }
 
-func NewGW(client MQTT.Client) *Gateway {
+func NewGW(client MQTT.Client, cfg *Config) *Gateway {
 	gw := GetGW()
+	gw.baseAddr = cfg.baseAddr
 	gw.client = client
 	return gw
 }
diff --git a/main.go b/main.go
index 4973312e68493afd9ed53a3809f184f1001bbc82..fd439af0dba31b60aeece3fed634c970cae8f098 100644
--- a/main.go
+++ b/main.go
@@ -18,7 +18,7 @@ func main() {
 	client := mqttSetup(cfg.brokerHost, cfg.brokerPort)
 
 	eng := xaal.NewEngine()
-	gw := NewGW(client)
+	gw := NewGW(client, cfg)
 	gw.engine = eng
 	eng.Run()
 	client.Disconnect(250)