diff --git a/apigeeSync_suite_test.go b/apigeeSync_suite_test.go
index 99c0ecc..be0f820 100644
--- a/apigeeSync_suite_test.go
+++ b/apigeeSync_suite_test.go
@@ -4,17 +4,17 @@
 	. "github.com/onsi/ginkgo"
 	. "github.com/onsi/gomega"
 
-	"testing"
+	"encoding/json"
 	"github.com/30x/apid"
 	"github.com/30x/apid/factory"
+	"github.com/apigee-labs/transicator/common"
 	"io/ioutil"
+	"net/http"
 	"net/http/httptest"
 	"os"
-	"encoding/json"
-	"net/http"
-	"github.com/apigee-labs/transicator/common"
-	"time"
 	"strconv"
+	"testing"
+	"time"
 )
 
 var (
@@ -59,6 +59,9 @@
 		Expect(req.Header.Get("Content-Type")).To(Equal("application/x-www-form-urlencoded; param=value"))
 
 		err := req.ParseForm()
+		// TODO: Test framework cannot handle this assertions and
+		// this handler just stops and sends back ""
+		// we need to handle it differently
 		Expect(err).NotTo(HaveOccurred())
 		Expect(req.Form.Get("grant_type")).To(Equal("client_credentials"))
 		Expect(req.Header.Get("status")).To(Equal("ONLINE"))
@@ -378,7 +381,6 @@
 	Expect(err).NotTo(HaveOccurred())
 })
 
-
 var _ = AfterSuite(func() {
 	apid.Events().Close()
 	if testServer != nil {
diff --git a/apigee_sync.go b/apigee_sync.go
index 230705c..ba9f876 100644
--- a/apigee_sync.go
+++ b/apigee_sync.go
@@ -18,7 +18,7 @@
 var lastSequence string
 
 func addHeaders(req *http.Request) {
-	req.Header.Add("Authorization", "Bearer " + token)
+	req.Header.Add("Authorization", "Bearer "+token)
 	req.Header.Set("apid_instance_id", apidInfo.InstanceID)
 	req.Header.Set("apid_cluster_Id", apidInfo.ClusterID)
 	req.Header.Set("updated_at_apid", time.Now().Format(time.RFC3339))
@@ -68,7 +68,7 @@
 		}
 		endTime := time.Second
 		// Gradually increase retry interval, and max at some level
-		if endTime - startTime <= 1 {
+		if endTime-startTime <= 1 {
 			if times < pollInterval {
 				times++
 			} else {
@@ -259,6 +259,7 @@
 	}
 
 	var oauthResp oauthTokenResp
+	log.Debugf("Response: %s ", body)
 	err = json.Unmarshal(body, &oauthResp)
 	if err != nil {
 		log.Error(err)
@@ -361,7 +362,7 @@
 	/* Get the bearer token */
 	status := getBearerToken()
 	if status == false {
-		log.Panic("Unable to get Bearer token or is Invalid")
+		log.Errorf("Unable to get Bearer token or is Invalid")
 	}
 	snapshotUri, err := url.Parse(config.GetString(configSnapServerBaseURI))
 	if err != nil {
diff --git a/apigee_sync_test.go b/apigee_sync_test.go
index dea238c..5a0ddc7 100644
--- a/apigee_sync_test.go
+++ b/apigee_sync_test.go
@@ -1,10 +1,10 @@
 package apidApigeeSync
 
 import (
-	. "github.com/onsi/ginkgo"
-	. "github.com/onsi/gomega"
 	"github.com/30x/apid"
 	"github.com/apigee-labs/transicator/common"
+	. "github.com/onsi/ginkgo"
+	. "github.com/onsi/gomega"
 )
 
 var _ = Describe("listener", func() {
diff --git a/data.go b/data.go
index e93971b..6618531 100644
--- a/data.go
+++ b/data.go
@@ -1,12 +1,12 @@
 package apidApigeeSync
 
 import (
+	"crypto/rand"
 	"database/sql"
+	"errors"
+	"fmt"
 	"github.com/30x/apid"
 	"sync"
-	"fmt"
-	"crypto/rand"
-	"errors"
 )
 
 var (
@@ -16,12 +16,12 @@
 
 type dataApidCluster struct {
 	ChangeSelector, ID, Name, OrgAppName, CreatedBy, UpdatedBy, Description string
-	Updated, Created string
+	Updated, Created                                                        string
 }
 
 type dataDataScope struct {
 	ChangeSelector, ID, ClusterID, Scope, Org, Env, CreatedBy, UpdatedBy string
-	Updated, Created string
+	Updated, Created                                                     string
 }
 
 /*
@@ -244,6 +244,8 @@
 }
 
 func getApidInstanceInfo() (info apidInstanceInfo, err error) {
+	info.InstanceName = config.GetString(configName)
+	info.ClusterID = config.GetString(configApidClusterId)
 
 	// always use default database for this
 	var db apid.DB
@@ -266,14 +268,6 @@
 			db.Exec("INSERT INTO APID (instance_id) VALUES (?)", info.InstanceID)
 		}
 	}
-
-	// if name not explicitly configured, just use InstanceID
-	config.SetDefault(configName, info.InstanceID)
-	info.InstanceName = config.GetString(configName)
-
-	// not stored in DB
-	info.ClusterID = config.GetString(configApidClusterId)
-
 	return
 }
 
@@ -304,6 +298,8 @@
 /*
  * generates a random uuid (mix of timestamp & crypto random string)
  */
+
+//TODO: Change to https://tools.ietf.org/html/rfc4122 based implementation such as https://github.com/google/uuid
 func generateUUID() string {
 
 	buff := make([]byte, 16)
diff --git a/glide.yaml b/glide.yaml
index df2b636..c07a74e 100644
--- a/glide.yaml
+++ b/glide.yaml
@@ -1,6 +1,8 @@
 package: github.com/30x/apidApigeeSync
 import:
 - package: github.com/30x/apid
+  version: master
 testImport:
 - package: github.com/onsi/ginkgo/ginkgo
 - package: github.com/onsi/gomega
+  version: master
diff --git a/init.go b/init.go
index 22371fa..ff19bed 100644
--- a/init.go
+++ b/init.go
@@ -4,6 +4,7 @@
 	"encoding/json"
 	"fmt"
 	"github.com/30x/apid"
+	"os"
 )
 
 const (
@@ -24,8 +25,7 @@
 	config            apid.ConfigService
 	data              apid.DataService
 	events            apid.EventsService
-
-	apidInfo	  apidInstanceInfo
+	apidInfo          apidInstanceInfo
 	apidPluginDetails string
 )
 
@@ -42,12 +42,27 @@
 	apid.RegisterPlugin(initPlugin)
 }
 
+func initDefaults() {
+	config.SetDefault(configPollInterval, 120)
+	name, errh := os.Hostname()
+	if (errh != nil) && (len(config.GetString(configName)) == 0) {
+		log.Errorf("Not able to get hostname for kernel. Please set '%s' property in config", configName)
+		name = "Undefined"
+	}
+	config.SetDefault(configName, name)
+	log.Debugf("Using %s as display name", config.GetString(configName))
+}
+
+func SetLogger(logger apid.LogService) {
+	log = logger
+}
+
 func initPlugin(services apid.Services) (apid.PluginData, error) {
-	log = services.Log().ForModule("apigeeSync")
+	SetLogger(services.Log().ForModule("apigeeSync"))
 	log.Debug("start init")
 
 	config = services.Config()
-	config.SetDefault(configPollInterval, 120)
+	initDefaults()
 
 	data = services.Data()
 	events = services.Events()
@@ -129,4 +144,3 @@
 		log.Debug("Done post plugin init")
 	}
 }
-
diff --git a/init_test.go b/init_test.go
new file mode 100644
index 0000000..6ff98c2
--- /dev/null
+++ b/init_test.go
@@ -0,0 +1,25 @@
+package apidApigeeSync
+
+import (
+	. "github.com/onsi/ginkgo"
+	. "github.com/onsi/gomega"
+)
+
+var _ = Describe("init", func() {
+
+	Context("Apid Instance display name", func() {
+
+		It("should be hostname by defauls", func() {
+			initDefaults()
+			Expect(apidInfo.InstanceName).To(Equal("testhost"))
+		})
+		It("accept display name from config", func() {
+			config.Set(configName, "aa01")
+			initDefaults()
+			var apidInfoLatest apidInstanceInfo
+			apidInfoLatest , _ = getApidInstanceInfo()
+			Expect(apidInfoLatest.InstanceName).To(Equal("aa01"))
+		})
+
+	})
+})
diff --git a/listener.go b/listener.go
index 47c58a7..2a95d6f 100644
--- a/listener.go
+++ b/listener.go
@@ -6,8 +6,8 @@
 )
 
 const (
-	LISTENER_TABLE_APID_CLUSTER  = "edgex.apid_cluster"
-	LISTENER_TABLE_DATA_SCOPE    = "edgex.data_scope"
+	LISTENER_TABLE_APID_CLUSTER = "edgex.apid_cluster"
+	LISTENER_TABLE_DATA_SCOPE   = "edgex.data_scope"
 )
 
 type handler struct {
@@ -122,7 +122,7 @@
 				log.Panicf("illegal operation: %s for %s", change.Operation, change.Table)
 			}
 		}
-		if err != nil{
+		if err != nil {
 			log.Panicf("Error processing ChangeList: %v", err)
 		}
 	}
@@ -167,4 +167,3 @@
 
 	return ds
 }
-
diff --git a/listener_test.go b/listener_test.go
index 893e81a..ad2c272 100644
--- a/listener_test.go
+++ b/listener_test.go
@@ -17,7 +17,7 @@
 
 			event := common.Snapshot{
 				SnapshotInfo: "test_snapshot",
-				Tables: []common.Table{},
+				Tables:       []common.Table{},
 			}
 
 			handler.Handle(&event)
@@ -54,15 +54,15 @@
 						Name: LISTENER_TABLE_APID_CLUSTER,
 						Rows: []common.Row{
 							{
-								"id": &common.ColumnVal{Value: "i"},
-								"_change_selector": &common.ColumnVal{Value: "c"},
-								"name": &common.ColumnVal{Value: "n"},
+								"id":                    &common.ColumnVal{Value: "i"},
+								"_change_selector":      &common.ColumnVal{Value: "c"},
+								"name":                  &common.ColumnVal{Value: "n"},
 								"umbrella_org_app_name": &common.ColumnVal{Value: "o"},
-								"created": &common.ColumnVal{Value: "c"},
-								"created_by": &common.ColumnVal{Value: "c"},
-								"updated": &common.ColumnVal{Value: "u"},
-								"updated_by": &common.ColumnVal{Value: "u"},
-								"description": &common.ColumnVal{Value: "d"},
+								"created":               &common.ColumnVal{Value: "c"},
+								"created_by":            &common.ColumnVal{Value: "c"},
+								"updated":               &common.ColumnVal{Value: "u"},
+								"updated_by":            &common.ColumnVal{Value: "u"},
+								"description":           &common.ColumnVal{Value: "d"},
 							},
 						},
 					},
@@ -70,16 +70,16 @@
 						Name: LISTENER_TABLE_DATA_SCOPE,
 						Rows: []common.Row{
 							{
-								"id": &common.ColumnVal{Value: "i"},
+								"id":               &common.ColumnVal{Value: "i"},
 								"_change_selector": &common.ColumnVal{Value: "c"},
-								"apid_cluster_id": &common.ColumnVal{Value: "a"},
-								"scope": &common.ColumnVal{Value: "s"},
-								"org": &common.ColumnVal{Value: "o"},
-								"env": &common.ColumnVal{Value: "e"},
-								"created": &common.ColumnVal{Value: "c"},
-								"created_by": &common.ColumnVal{Value: "c"},
-								"updated": &common.ColumnVal{Value: "u"},
-								"updated_by": &common.ColumnVal{Value: "u"},
+								"apid_cluster_id":  &common.ColumnVal{Value: "a"},
+								"scope":            &common.ColumnVal{Value: "s"},
+								"org":              &common.ColumnVal{Value: "o"},
+								"env":              &common.ColumnVal{Value: "e"},
+								"created":          &common.ColumnVal{Value: "c"},
+								"created_by":       &common.ColumnVal{Value: "c"},
+								"updated":          &common.ColumnVal{Value: "u"},
+								"updated_by":       &common.ColumnVal{Value: "u"},
 							},
 						},
 					},
@@ -172,7 +172,7 @@
 					Changes: []common.Change{
 						{
 							Operation: common.Insert,
-							Table: LISTENER_TABLE_APID_CLUSTER,
+							Table:     LISTENER_TABLE_APID_CLUSTER,
 						},
 					},
 				}
@@ -187,7 +187,7 @@
 					Changes: []common.Change{
 						{
 							Operation: common.Update,
-							Table: LISTENER_TABLE_APID_CLUSTER,
+							Table:     LISTENER_TABLE_APID_CLUSTER,
 						},
 					},
 				}
@@ -206,18 +206,18 @@
 					Changes: []common.Change{
 						{
 							Operation: common.Insert,
-							Table: LISTENER_TABLE_DATA_SCOPE,
+							Table:     LISTENER_TABLE_DATA_SCOPE,
 							NewRow: common.Row{
-								"id": &common.ColumnVal{Value: "i"},
+								"id":               &common.ColumnVal{Value: "i"},
 								"_change_selector": &common.ColumnVal{Value: "c"},
-								"apid_cluster_id": &common.ColumnVal{Value: "a"},
-								"scope": &common.ColumnVal{Value: "s"},
-								"org": &common.ColumnVal{Value: "o"},
-								"env": &common.ColumnVal{Value: "e"},
-								"created": &common.ColumnVal{Value: "c"},
-								"created_by": &common.ColumnVal{Value: "c"},
-								"updated": &common.ColumnVal{Value: "u"},
-								"updated_by": &common.ColumnVal{Value: "u"},
+								"apid_cluster_id":  &common.ColumnVal{Value: "a"},
+								"scope":            &common.ColumnVal{Value: "s"},
+								"org":              &common.ColumnVal{Value: "o"},
+								"env":              &common.ColumnVal{Value: "e"},
+								"created":          &common.ColumnVal{Value: "c"},
+								"created_by":       &common.ColumnVal{Value: "c"},
+								"updated":          &common.ColumnVal{Value: "u"},
+								"updated_by":       &common.ColumnVal{Value: "u"},
 							},
 						},
 					},
@@ -263,18 +263,18 @@
 					Changes: []common.Change{
 						{
 							Operation: common.Insert,
-							Table: LISTENER_TABLE_DATA_SCOPE,
+							Table:     LISTENER_TABLE_DATA_SCOPE,
 							NewRow: common.Row{
-								"id": &common.ColumnVal{Value: "i"},
+								"id":               &common.ColumnVal{Value: "i"},
 								"_change_selector": &common.ColumnVal{Value: "c"},
-								"apid_cluster_id": &common.ColumnVal{Value: "a"},
-								"scope": &common.ColumnVal{Value: "s"},
-								"org": &common.ColumnVal{Value: "o"},
-								"env": &common.ColumnVal{Value: "e"},
-								"created": &common.ColumnVal{Value: "c"},
-								"created_by": &common.ColumnVal{Value: "c"},
-								"updated": &common.ColumnVal{Value: "u"},
-								"updated_by": &common.ColumnVal{Value: "u"},
+								"apid_cluster_id":  &common.ColumnVal{Value: "a"},
+								"scope":            &common.ColumnVal{Value: "s"},
+								"org":              &common.ColumnVal{Value: "o"},
+								"env":              &common.ColumnVal{Value: "e"},
+								"created":          &common.ColumnVal{Value: "c"},
+								"created_by":       &common.ColumnVal{Value: "c"},
+								"updated":          &common.ColumnVal{Value: "u"},
+								"updated_by":       &common.ColumnVal{Value: "u"},
 							},
 						},
 					},
@@ -287,8 +287,8 @@
 					Changes: []common.Change{
 						{
 							Operation: common.Delete,
-							Table: LISTENER_TABLE_DATA_SCOPE,
-							OldRow: insert.Changes[0].NewRow,
+							Table:     LISTENER_TABLE_DATA_SCOPE,
+							OldRow:    insert.Changes[0].NewRow,
 						},
 					},
 				}
@@ -309,7 +309,7 @@
 					Changes: []common.Change{
 						{
 							Operation: common.Update,
-							Table: LISTENER_TABLE_DATA_SCOPE,
+							Table:     LISTENER_TABLE_DATA_SCOPE,
 						},
 					},
 				}
diff --git a/pluginData.go b/pluginData.go
index ef93e2e..9368f70 100644
--- a/pluginData.go
+++ b/pluginData.go
@@ -4,7 +4,7 @@
 
 var pluginData = apid.PluginData{
 	Name:    "apidApigeeSync",
-	Version: "0.0.2",
+	Version: "0.0.3",
 	ExtraData: map[string]interface{}{
 		"schemaVersion": "0.0.2",
 	},
