diff --git a/asapo_tools/src/asapo_tools/main/asapo.go b/asapo_tools/src/asapo_tools/main/asapo.go
index e326889315ffd4f4c324a83bc646b79aa09acb92..66d5829ec67bd6b966a938b7940b3119505e9539 100644
--- a/asapo_tools/src/asapo_tools/main/asapo.go
+++ b/asapo_tools/src/asapo_tools/main/asapo.go
@@ -4,7 +4,7 @@ import (
 	"flag"
 	"fmt"
 	"os"
-	"asapo_tools/version"
+	"asapo_common/version"
 	"asapo_tools/cli"
 )
 
@@ -14,7 +14,7 @@ var (
 
 func main() {
 
-	if ret := version.ShowVersion(os.Stdout, "asapo"); ret {
+	if ret := version.ShowVersion(os.Stdout, "ASAPO"); ret {
 		return
 	}
 
diff --git a/asapo_tools/src/asapo_tools/version/version.go b/asapo_tools/src/asapo_tools/version/version.go
deleted file mode 100644
index e2427a17c6038e422fb6c7b102562dd254043f33..0000000000000000000000000000000000000000
--- a/asapo_tools/src/asapo_tools/version/version.go
+++ /dev/null
@@ -1,23 +0,0 @@
-package version
-
-import (
-	"flag"
-	"fmt"
-	"io"
-	"os"
-)
-
-var version, buildTime, gitCommit, shortVersion string
-
-func ShowVersion(w io.Writer, name string) bool {
-	flags := flag.NewFlagSet("version", flag.ExitOnError)
-	flag.Bool("version", false, "Print version information") // to have it in main help
-	flVersion := flags.Bool("version", false, "Print version information")
-	flags.Bool("help", false, "Print usage") // define help flag but ignore it
-	flags.Parse(os.Args[1:])
-	if *flVersion {
-		fmt.Fprintf(w, "%s version %s, build time %s\n", name, version, buildTime)
-		return true
-	}
-	return false
-}
diff --git a/asapo_tools/src/asapo_tools/version/version_lib.go.in b/asapo_tools/src/asapo_tools/version/version_lib.go.in
deleted file mode 100644
index 3fe1989dbbc62d3515284e43bd2c3e415e874471..0000000000000000000000000000000000000000
--- a/asapo_tools/src/asapo_tools/version/version_lib.go.in
+++ /dev/null
@@ -1,10 +0,0 @@
-package version
-
-// Default build-time variable for library-import.
-// This file is overridden on build with build-time informations.
-func init(){
-	gitCommit = "@VERSION_SHA1@"
-	version   = "@VERSION@"
-	shortVersion   = "@VERSION_SHORT@"
-	buildTime = "@TIMESTAMP@"
-}
diff --git a/authorizer/src/asapo_authorizer/main/authorizer.go b/authorizer/src/asapo_authorizer/main/authorizer.go
index 0916ddbed565ec670066af8df0720a69e413a414..9f4329909333d6dac5c88966ccbc398497856941 100644
--- a/authorizer/src/asapo_authorizer/main/authorizer.go
+++ b/authorizer/src/asapo_authorizer/main/authorizer.go
@@ -5,6 +5,7 @@ package main
 import (
 	log "asapo_common/logger"
 	"asapo_authorizer/server"
+	"asapo_common/version"
 	"flag"
 	"os"
 )
@@ -16,6 +17,10 @@ func PrintUsage() {
 func main() {
 	var fname = flag.String("config", "", "config file path")
 
+	if ret := version.ShowVersion(os.Stdout, "ASAPO Authorizer"); ret {
+		return
+	}
+
 	log.SetSoucre("authorizer")
 
 	flag.Parse()
diff --git a/authorizer/src/asapo_authorizer/server/server_nottested.go b/authorizer/src/asapo_authorizer/server/server_nottested.go
index 6ad0c98f35e819a7c6d4f491dff4829702fcc5d1..54c2fb20a31cc7b455a9f6a0b4247a0184192ebc 100644
--- a/authorizer/src/asapo_authorizer/server/server_nottested.go
+++ b/authorizer/src/asapo_authorizer/server/server_nottested.go
@@ -5,6 +5,7 @@ package server
 import (
 	log "asapo_common/logger"
 	"asapo_common/utils"
+	"asapo_common/version"
 	"errors"
 	"net/http"
 	"strconv"
@@ -12,6 +13,7 @@ import (
 
 func Start() {
 	mux := utils.NewRouter(listRoutes)
+	log.Info("Starting ASAPO Authorizer, version " + version.GetVersion())
 	log.Info("Listening on port: " + strconv.Itoa(settings.Port))
 	log.Fatal(http.ListenAndServe(":"+strconv.Itoa(settings.Port), http.HandlerFunc(mux.ServeHTTP)))
 }
diff --git a/broker/src/asapo_broker/main/broker.go b/broker/src/asapo_broker/main/broker.go
index e4b9c6e742c5d1f865c8b3c204aedc438926ed85..f9a41942ccc4a60893202d9e319ed066c73b6aca 100644
--- a/broker/src/asapo_broker/main/broker.go
+++ b/broker/src/asapo_broker/main/broker.go
@@ -6,6 +6,7 @@ import (
 	"asapo_broker/database"
 	"asapo_broker/server"
 	log "asapo_common/logger"
+	"asapo_common/version"
 	"flag"
 	"os"
 )
@@ -21,6 +22,10 @@ func PrintUsage() {
 func main() {
 	var fname = flag.String("config", "", "config file path")
 
+	if ret := version.ShowVersion(os.Stdout, "ASAPO Broker"); ret {
+		return
+	}
+
 	log.SetSoucre("broker")
 	flag.Parse()
 	if *fname == "" {
diff --git a/broker/src/asapo_broker/server/server_nottested.go b/broker/src/asapo_broker/server/server_nottested.go
index c9febf74b9fe37065d7f49387c912f67cf5f786e..943277aa75da290758fc6124952a806c8a18e4b1 100644
--- a/broker/src/asapo_broker/server/server_nottested.go
+++ b/broker/src/asapo_broker/server/server_nottested.go
@@ -5,6 +5,7 @@ package server
 import (
 	log "asapo_common/logger"
 	"asapo_common/utils"
+	"asapo_common/version"
 	"errors"
 	"net/http"
 	"strconv"
@@ -19,6 +20,7 @@ func StartStatistics() {
 func Start() {
 	StartStatistics()
 	mux := utils.NewRouter(listRoutes)
+	log.Info("Starting Asapo Broker, version " + version.GetVersion())
 	log.Info("Listening on port: " + strconv.Itoa(settings.Port))
 	log.Fatal(http.ListenAndServe(":"+strconv.Itoa(settings.Port), http.HandlerFunc(mux.ServeHTTP)))
 }
diff --git a/common/go/src/asapo_common/version/version.go b/common/go/src/asapo_common/version/version.go
index 25a3835dcd90c8bbe48e0f9429299e6b7909434c..d4674f37bddf4e84eaaec6cde2686ed6e68f306a 100644
--- a/common/go/src/asapo_common/version/version.go
+++ b/common/go/src/asapo_common/version/version.go
@@ -4,19 +4,20 @@ import (
 	"flag"
 	"fmt"
 	"io"
-	"os"
 )
 
-var version
+var version string
+
+func GetVersion() string {
+    return version
+}
 
 func ShowVersion(w io.Writer, name string) bool {
-	flags := flag.NewFlagSet("version", flag.ExitOnError)
-	flag.Bool("version", false, "Print version information") // to have it in main help
-	flVersion := flags.Bool("version", false, "Print version information")
-	flags.Bool("help", false, "Print usage") // define help flag but ignore it
-	flags.Parse(os.Args[1:])
+
+	flVersion := flag.Bool("v", false, "Print version information")
+	flag.Parse()
 	if *flVersion {
-		fmt.Fprintf(w, "%s version %s\n", name, version)
+		fmt.Fprintf(w, "%s, version %s\n", name, version)
 		return true
 	}
 	return false
diff --git a/discovery/src/asapo_discovery/main/discovery.go b/discovery/src/asapo_discovery/main/discovery.go
index d78d64898b6203fe7d4bab24e8303eb2a384187a..e4bd21e4a37f6a11be84fa447dfa9d97ea6b3993 100644
--- a/discovery/src/asapo_discovery/main/discovery.go
+++ b/discovery/src/asapo_discovery/main/discovery.go
@@ -5,6 +5,7 @@ package main
 import (
 	"flag"
 	log "asapo_common/logger"
+    "asapo_common/version"
 	"asapo_discovery/server"
 	"os"
 	"asapo_discovery/request_handler"
@@ -29,6 +30,11 @@ func PrintUsage() {
 func main() {
 	var fname = flag.String("config", "", "config file path")
 
+	if ret := version.ShowVersion(os.Stdout, "ASAPO Discovery"); ret {
+		return
+	}
+
+
     log.SetSoucre("discovery")
 	flag.Parse()
 	if *fname == "" {
diff --git a/discovery/src/asapo_discovery/server/server_nottested.go b/discovery/src/asapo_discovery/server/server_nottested.go
index 3b98cf5ea9b77caef8853d806fa5a7d40539198a..091db8e202b96c25b357139a147c236b1a3a3493 100644
--- a/discovery/src/asapo_discovery/server/server_nottested.go
+++ b/discovery/src/asapo_discovery/server/server_nottested.go
@@ -5,12 +5,14 @@ package server
 import (
 	log "asapo_common/logger"
 	"asapo_common/utils"
+    "asapo_common/version"
 	"net/http"
 	"strconv"
 )
 
 func Start() {
 	mux := utils.NewRouter(listRoutes)
+	log.Info("Starting ASAPO Discovery, version " + version.GetVersion())
 	log.Info("Listening on port: " + strconv.Itoa(settings.Port))
 	log.Fatal(http.ListenAndServe(":"+strconv.Itoa(settings.Port), http.HandlerFunc(mux.ServeHTTP)))
 }