diff --git a/main.go b/main.go
index 6760c7fe22d5f9dafc796f9c3bf8d065d0bca32e..7d90209c472943ad2c7d96a7eba4765f90b2e661 100644
--- a/main.go
+++ b/main.go
@@ -21,6 +21,7 @@
 package main
 
 import (
+	"flag"
 	"log"
 )
 
@@ -29,4 +30,12 @@ import (
  */
 func main() {
 	log.Println("Hello world")
+
+	// Read command line argument for buildingId
+	buildingIdPointer := flag.Int64("building", 0, "set building ID")
+	flag.Parse()
+
+	// Initiate variables
+	buildingId := *buildingIdPointer
+	log.Println("buildingId: ", buildingId)
 }
diff --git a/main_test.go b/main_test.go
index da25992beb289f08b9a64f71859a5238056a5409..b5b407610552f86ddf8e76b5c96dc07098f06478 100644
--- a/main_test.go
+++ b/main_test.go
@@ -21,12 +21,32 @@
 package main
 
 import (
+	"bytes"
+	"flag"
 	"testing"
 )
 
-func TestMain(t *testing.T) {
+type Config struct {
+  building    int64
+	args []string
+}
+
+func parseFlags(t *testing.T) {
 	err := error(nil)
 	if err != nil {
 		t.Fatal(err)
 	}
+
+	flags := flag.NewFlagSet("rcli", flag.ContinueOnError)
+  var buf bytes.Buffer
+  flags.SetOutput(&buf)
+
+	var stringArray = [2]string
+
+  var conf Config
+	flags.Int64Var(&conf.building, "building", 1, "set building ID")
+  err = flags.Parse()
+	if err != nil {
+    return nil, buf.String(), err
+  }
 }