diff --git a/bin/obmcutil b/bin/obmcutil
index 35a9a08..0dd18df 100755
--- a/bin/obmcutil
+++ b/bin/obmcutil
@@ -127,6 +127,17 @@
 		'interface_name' : 'org.openbmc.Object.Enumerate',
 		'method' : 'enumerate'
 	},
+	'host' : {
+		'bus_name' : 'org.openbmc.control.Host',
+		'object_name' : '/org/openbmc/control/host0',
+		'interface_name' : 'org.openbmc.control.Host',
+	},
+	'setdebugmode' : {
+		'bus_name' : 'org.openbmc.control.Host',
+		'object_name' : '/org/openbmc/control/host0',
+		'interface_name' : 'org.openbmc.control.Host',
+		'property' : 'debug_mode'
+	},
 }
 
 bus = dbus.SystemBus()
@@ -140,16 +151,22 @@
 		m = ""
 		if (dbus_objects[name].has_key('method') == True):
 			m=" ("+dbus_objects[name]['interface_name']+"->"+dbus_objects[name]['method']+")"
+		elif (dbus_objects[name].has_key('property') == True):
+			m=" ("+dbus_objects[name]['interface_name']+"->"+dbus_objects[name]['property']+")"
+
 		print "\t"+name+m
 	exit(0)
 
 method_name = ""
+property_name = ""
 
 sys.argv.pop(0)
 objinfo = dbus_objects[sys.argv.pop(0)]
 
 if (objinfo.has_key('method')):
 	method_name = objinfo['method']
+elif (objinfo.has_key('property')):
+	property_name = objinfo['property']
 elif (len(sys.argv)>0):
 	## if command line args left and method not specified
 	## then next arg must be method name
@@ -160,17 +177,11 @@
 intf_name = objinfo['interface_name']
 obj = bus.get_object(bus_name,obj_path)
 
-if (method_name == ""):
-	intf = dbus.Interface(obj,"org.freedesktop.DBus.Properties")
-	props = intf.GetAll(intf_name)	
-	for p in props:
-		print p+" = "+str(props[p])
-	
-else:
+if (method_name != ""):
 	methd = obj.get_dbus_method(method_name,intf_name)
 	try:
 		data = methd(*sys.argv)
-		fix_byte(data,None,None)		
+		fix_byte(data,None,None)	
 		pydata = json.loads(json.dumps(data))
 		printDict("",pydata)
 	except Exception as e:
@@ -180,6 +191,15 @@
 			print "ERROR: Invalid method: "+method_name
 		else:
 			print "ERROR: Incorrect arguments passed to method"
-			
+elif (property_name != ""):
+	intf = dbus.Interface(obj,"org.freedesktop.DBus.Properties")
+	property_value = eval(sys.argv.pop(0))
+	intf.Set(intf_name,property_name,property_value)
+else:
+	intf = dbus.Interface(obj,"org.freedesktop.DBus.Properties")
+	props = intf.GetAll(intf_name)	
+	for p in props:
+		print p+" = "+str(props[p])
+	
 		
 
