diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c3cc4996c31030c390bc57b25a7fff8ff6f7dc70..b522ac6c3e65628dc7e72641aa3d1854ae14476d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,6 +14,7 @@ Unit tests:
   #  paths:
   #    - "coverage.html"
   script:
+    - "ln -s $(pwd) $GOPATH/src/dfss"
     - "go get gopkg.in/mgo.v2"
     - "go test -coverprofile auth.part -v ./auth"
     - "go test -coverprofile mgdb.part -v ./mgdb"
@@ -38,7 +39,9 @@ Code lint:
     - golang
     - lint
   script:
+    - "ln -s $(pwd) $GOPATH/src/dfss"
     - "go get github.com/alecthomas/gometalinter"
     - "go get gopkg.in/mgo.v2"
+    - "go install ./..."
     - "gometalinter --install"
     - "gometalinter -t --deadline=100s -j1 ./..."
diff --git a/README.md b/README.md
index 5437b5b66e5b5f1ff6de72eb94a2939b7e183ab7..bc26d59d843c7ce6107ab91db0e4edba2b23deb1 100644
--- a/README.md
+++ b/README.md
@@ -18,3 +18,11 @@ Configure workspace
 go install dfss/...
 ```
 
+Run dfss modules
+----------------
+
+```bash
+dfssc help # Client
+dfssp help # Plaform
+dfssd help # Demonstrator
+```
diff --git a/dfssc/main.go b/dfssc/main.go
new file mode 100644
index 0000000000000000000000000000000000000000..2dfee6b99d123cde088fa11fa3aad4dd0933e16d
--- /dev/null
+++ b/dfssc/main.go
@@ -0,0 +1,46 @@
+package main
+
+import (
+	"dfss"
+	"flag"
+	"fmt"
+	"runtime"
+)
+
+var (
+	verbose bool
+)
+
+func init() {
+
+	flag.BoolVar(&verbose, "v", false, "Print verbose messages")
+
+	flag.Usage = func() {
+		fmt.Println("DFSS client command line v" + dfss.Version)
+		fmt.Println("A tool to sign multiparty contracts")
+
+		fmt.Println("\nUsage:")
+		fmt.Println("  dfssc command [flags]")
+
+		fmt.Println("\nThe commands are:")
+		fmt.Println("  help     print this help")
+		fmt.Println("  version  print dfss client version")
+
+		fmt.Println("\nFlags:")
+		flag.PrintDefaults()
+
+		fmt.Println()
+	}
+}
+
+func main() {
+	flag.Parse()
+	command := flag.Arg(0)
+
+	switch command {
+	case "version":
+		fmt.Println("v"+dfss.Version, runtime.GOOS, runtime.GOARCH)
+	default:
+		flag.Usage()
+	}
+}
diff --git a/dfssd/main.go b/dfssd/main.go
new file mode 100644
index 0000000000000000000000000000000000000000..d08e24ba7b45c4c3e663be91e05c497ed8b7baa7
--- /dev/null
+++ b/dfssd/main.go
@@ -0,0 +1,46 @@
+package main
+
+import (
+	"dfss"
+	"flag"
+	"fmt"
+	"runtime"
+)
+
+var (
+	verbose bool
+)
+
+func init() {
+
+	flag.BoolVar(&verbose, "v", false, "Print verbose messages")
+
+	flag.Usage = func() {
+		fmt.Println("DFSS demonstrator v" + dfss.Version)
+		fmt.Println("Debug tool to check remote transmissions")
+
+		fmt.Println("\nUsage:")
+		fmt.Println("  dfssd command [flags]")
+
+		fmt.Println("\nThe commands are:")
+		fmt.Println("  help     print this help")
+		fmt.Println("  version  print dfss client version")
+
+		fmt.Println("\nFlags:")
+		flag.PrintDefaults()
+
+		fmt.Println()
+	}
+}
+
+func main() {
+	flag.Parse()
+	command := flag.Arg(0)
+
+	switch command {
+	case "version":
+		fmt.Println("v"+dfss.Version, runtime.GOOS, runtime.GOARCH)
+	default:
+		flag.Usage()
+	}
+}
diff --git a/dfssp/main.go b/dfssp/main.go
new file mode 100644
index 0000000000000000000000000000000000000000..6e6fbbbd5f84495f09e2601341aa66376eecc664
--- /dev/null
+++ b/dfssp/main.go
@@ -0,0 +1,46 @@
+package main
+
+import (
+	"dfss"
+	"flag"
+	"fmt"
+	"runtime"
+)
+
+var (
+	verbose bool
+)
+
+func init() {
+
+	flag.BoolVar(&verbose, "v", false, "Print verbose messages")
+
+	flag.Usage = func() {
+		fmt.Println("DFSS platform v" + dfss.Version)
+		fmt.Println("Users and contracts manager")
+
+		fmt.Println("\nUsage:")
+		fmt.Println("  dfssp command [flags]")
+
+		fmt.Println("\nThe commands are:")
+		fmt.Println("  help     print this help")
+		fmt.Println("  version  print dfss client version")
+
+		fmt.Println("\nFlags:")
+		flag.PrintDefaults()
+
+		fmt.Println()
+	}
+}
+
+func main() {
+	flag.Parse()
+	command := flag.Arg(0)
+
+	switch command {
+	case "version":
+		fmt.Println("v"+dfss.Version, runtime.GOOS, runtime.GOARCH)
+	default:
+		flag.Usage()
+	}
+}
diff --git a/version.go b/version.go
new file mode 100644
index 0000000000000000000000000000000000000000..afa2c6434a6c284f60bb3e4f24757fa9eacec33e
--- /dev/null
+++ b/version.go
@@ -0,0 +1,4 @@
+package dfss
+
+// Version represents the current version of the DFSS software suite
+const Version = "0.0.1-dev"