diff --git a/kcsbridged.c b/kcsbridged.c
index d943c3b..9c58acd 100644
--- a/kcsbridged.c
+++ b/kcsbridged.c
@@ -40,6 +40,10 @@
 #define DBUS_NAME "org.openbmc.HostIpmi."
 #define OBJ_NAME "/org/openbmc/HostIpmi/"
 
+#define DEFAULT_DBUS "org.openbmc.HostIpmi"
+#define DEFAULT_OBJ "/org/openbmc/HostIpmi/1"
+#define DBUS_INTF "org.openbmc.HostIpmi"
+
 #define KCS_TIMEOUT_IN_SEC 5
 #define KCS_MESSAGE_SIZE 256
 
@@ -383,7 +387,7 @@
 		"--v                      Be verbose\n"
 		"--vv                     Be verbose and dump entire messages\n"
 		"--s, --syslog            Log output to syslog (pointless without --verbose)\n"
-		"--i, --instanceid <ID>   instance id (string type)\n"
+		"--i, --instanceid <ID>   instance id (string type) optional\n"
 		"--d, --device <DEVICE>   Use <DEVICE> file.\n\n",
 		name);
 }
@@ -405,7 +409,7 @@
 {
 	struct kcsbridged_context *context;
 	const char *name = argv[0];
-	bool deviceOptFlag = false, dbusOptFlag = false;
+	bool deviceOptFlag = false;
 	int opt, polled, r;
 	static const struct option long_options[] = {
 		{"device", required_argument, 0, 'd'},
@@ -421,6 +425,9 @@
 		return -1;
 	}
 
+	snprintf(busName, NAMEBUFFERLEN, "%s", DEFAULT_DBUS);
+	snprintf(objPath, NAMEBUFFERLEN, "%s", DEFAULT_OBJ);
+
 	kcs_vlog = &kcs_log_console;
 	while ((opt = getopt_long(argc, argv, "", long_options, NULL)) != -1) {
 		switch (opt) {
@@ -446,7 +453,6 @@
 				 optarg);
 			snprintf(objPath, NAMEBUFFERLEN, "%s%s", OBJ_NAME,
 				 optarg);
-			dbusOptFlag = true;
 			break;
 
 		case 's':
@@ -462,10 +468,9 @@
 		}
 	}
 
-	if ((false == deviceOptFlag) || (false == dbusOptFlag)) {
+	if (false == deviceOptFlag) {
 		usage(name);
-		MSG_OUT("Flag: device %d dbus %d \n", deviceOptFlag,
-			dbusOptFlag);
+		MSG_OUT("Flag: device %d \n", deviceOptFlag);
 		exit(EXIT_FAILURE);
 	}
 
@@ -482,14 +487,14 @@
 	}
 
 	MSG_OUT("Registering dbus methods/signals\n");
-	r = sd_bus_add_object_vtable(context->bus, NULL, objPath, busName,
+	r = sd_bus_add_object_vtable(context->bus, NULL, objPath, DBUS_INTF,
 				     ipmid_vtable, context);
 	if (r < 0) {
 		MSG_ERR("Failed to issue method call: %s\n", strerror(-r));
 		goto finish;
 	}
 
-	MSG_OUT("Requesting dbus name: %s objpath:%s \n", busName, objPath);
+	MSG_OUT("Requesting dbus : %s objpath:%s \n", busName, objPath);
 	r = sd_bus_request_name(context->bus, busName,
 				SD_BUS_NAME_ALLOW_REPLACEMENT
 					| SD_BUS_NAME_REPLACE_EXISTING);
diff --git a/kcsbridged.service b/kcsbridged.service
index cac223f..20b75ec 100644
--- a/kcsbridged.service
+++ b/kcsbridged.service
@@ -1,10 +1,10 @@
 [Unit]
-Description=KCS Bridge Daemon
+Description=KCS Bridge Daemon(Sample service file)
 
 [Service]
 Type=dbus
 BusName=org.openbmc.HostIpmi
-ExecStart=/bin/kcsbridged
+ExecStart=/bin/kcsbridged --d="/dev/ipmi-kcs3"
 Restart=on-abort
 
 [Install]
