diff --git a/bin/Openbmc.py b/bin/Openbmc.py
index 87c5ae6..1518f74 100755
--- a/bin/Openbmc.py
+++ b/bin/Openbmc.py
@@ -12,10 +12,12 @@
 	'DIMM' : 2,
 	'MAIN_PLANAR' : 3,
 	'RISER_CARD' : 4,
-	'FAN' : 5,
-	'BMC' : 6,
-	'CORE' : 7,
-	'PCIE_CARD' : 8,
+	'DAUGHTER_CARD' : 5,
+	'FAN' : 6,
+	'BMC' : 7,
+	'CORE' : 8,
+	'PCIE_CARD' : 9,
+	'MEMORY_BUFFER' : 10,
 }
 FRU_STATES = {
 	'NORMAL'            : 0,
diff --git a/bin/Palmetto.py b/bin/Palmetto.py
index 585b8fc..5cec95c 100755
--- a/bin/Palmetto.py
+++ b/bin/Palmetto.py
@@ -136,34 +136,6 @@
 		]
 	}
 
-SYSTEM_CONFIG['org.openbmc.sensors.Temperature.Ambient'] = {
-		'system_state' : 'BMC_STARTING',
-		'start_process' : True,
-		'monitor_process' : True,
-		'process_name' : 'sensor_ambient.exe',
-		'heartbeat' : 'no',
-		'instances' : [	
-			{
-				'name' : 'FrontChassis',
-				'user_label': 'Ambient Temperature 1',
-				'properties' : { 
-					'org.openbmc.SensorValue': {
-						'poll_interval' : 5000,
-					},
-					'org.openbmc.SensorThreshold' : {
-						'lower_critical': 5,
-						'lower_warning' : 10,
-						'upper_warning' : 15,
-						'upper_critical': 20
-					},
-					'org.openbmc.SensorI2c' : {
-						'dev_path' : '/dev/i2c/i2c0',
-						'address' : '0xA0'
-					}
-				}
-			},
-		]
-	}
 SYSTEM_CONFIG['org.openbmc.buttons.Power'] = {
 		'system_state' : 'BMC_STARTING',
 		'start_process' : True,
@@ -224,25 +196,6 @@
 		'instances' : [ { 'name' : 'MBVPD_0' } ]
 	}
 
-SYSTEM_CONFIG['org.openbmc.sensors.Occ'] = {
-		'system_state' : 'BMC_STARTING',
-		'start_process' : False,
-		'monitor_process' : False,
-		'process_name' : 'sensor_occ.exe',
-		'heartbeat' : 'no',
-		'instances' : [
-			{
-				'name' : 'Occ_0',
-				'properties' : { 
-					'org.openbmc.Occ' : {
-						'poll_interval' : 3000,
-					}
-				}
-			},
-
-		]
-	}
-
 SYSTEM_CONFIG['org.openbmc.sensors.Fan'] = {
 		'system_state' : 'BMC_STARTING',
 		'start_process' : True,
@@ -263,171 +216,126 @@
 
 FRU_INSTANCES = {
 	'<inventory_root>/system' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['SYSTEM'],
-		'is_fru'       : True,
-	},
-	'<inventory_root>/system/io_board' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['MAIN_PLANAR'],
-		'manufacturer' : 'FOXCONN',
-		'is_fru'       : True,
-		'location'     : 'C1',
-	},
+		{ 'fru_type' : 'SYSTEM','is_fru' : True, },
 
-	'<inventory_root>/system/motherboard' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['MAIN_PLANAR'],
-		'manufacturer' : 'FOXCONN',
-		'is_fru'       : True,
-		'location'     : 'C0',
-	},
-	'<inventory_root>/system/fan0' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['FAN'],
-		'manufacturer' : 'DELTA',
-		'is_fru'       : True,
-		'location'     : 'F0',
-	},
-	'<inventory_root>/system/fan1' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['FAN'],
-		'manufacturer' : 'DELTA',
-		'is_fru'       : True,
-		'location'     : 'F1',
-	},
-	'<inventory_root>/system/io_board/bmc' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['BMC'],
-		'manufacturer' : 'ASPEED',
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['CPU'],
-		'manufacturer' : 'IBM',
-		'is_fru'       : True,
-		'location'     : 'P0',
-	},
-	'<inventory_root>/system/motherboard/cpu0/core0' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core1' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core2' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core3' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core4' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core5' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core6' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core7' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core8' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core9' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core10' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/cpu0/core11' : {
-		'fru_type'        : Openbmc.FRU_TYPES['CORE'],
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/centaur0' :
-	{
-		'fru_type'     : 0,
-		'is_fru'       : False,
-	},
-	'<inventory_root>/system/motherboard/dimm0' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['DIMM'],
-		'is_fru'       : True,
-	},
-	'<inventory_root>/system/motherboard/dimm1' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['DIMM'],
-		'is_fru'       : True,
-	},
-	'<inventory_root>/system/motherboard/dimm2' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['DIMM'],
-		'is_fru'       : True,
-	},
-	'<inventory_root>/system/motherboard/dimm3' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['DIMM'],
-		'is_fru'       : True,
-	},
-	'<inventory_root>/system/io_board/pcie_slot0' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['PCIE_CARD'],
-		'user_label'      : 'PCIe card 0',
-		'is_fru'       : True,
-	},
-	'<inventory_root>/system/io_board/pcie_slot1' :
-	{
-		'fru_type'        : Openbmc.FRU_TYPES['PCIE_CARD'],
-		'user_label'      : 'PCIe card 1',
-		'is_fru'       : True,
-	},
+	'<inventory_root>/system/chassis' :
+		{ 'fru_type' : 'SYSTEM','is_fru' : True, },
+
+	'<inventory_root>/system/chassis/motherboard' :
+		{ 'fru_type' : 'MAIN_PLANAR','is_fru' : True, },
+
+	'<inventory_root>/system/chassis/fan0' :
+		{ 'fru_type' : 'FAN','is_fru' : True, },
+	'<inventory_root>/system/chassis/fan1' :
+		{ 'fru_type' : 'FAN','is_fru' : True, },
+	'<inventory_root>/system/chassis/fan2' :
+		{ 'fru_type' : 'FAN','is_fru' : True, },
+	'<inventory_root>/system/chassis/fan3' :
+		{ 'fru_type' : 'FAN','is_fru' : True, },
+	'<inventory_root>/system/chassis/fan4' :
+		{ 'fru_type' : 'FAN','is_fru' : True, },
+
+	'<inventory_root>/system/chassis/motherboard/bmc' :
+		{ 'fru_type' : 'BMC','is_fru' : False, 
+			'manufacturer' : 'ASPEED' },
+	'<inventory_root>/system/chassis/motherboard/cpu0' :
+		{ 'fru_type' : 'CPU', 'is_fru' : True, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core0' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core1' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core2' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core3' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core4' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core5' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core6' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core7' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core8' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core9' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core10' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/cpu0/core11' :
+		{ 'fru_type' : 'CORE', 'is_fru' : False, },
+	
+	'<inventory_root>/system/chassis/motherboard/centaur0' :
+		{ 'fru_type' : 'MEMORY_BUFFER', 'is_fru' : False, },
+
+	'<inventory_root>/system/chassis/motherboard/dimm0' :
+		{ 'fru_type' : 'DIMM', 'is_fru' : True,},
+
+	'<inventory_root>/system/chassis/motherboard/dimm1' :
+		{ 'fru_type' : 'DIMM', 'is_fru' : True,},
+
+	'<inventory_root>/system/chassis/motherboard/dimm2' :
+		{ 'fru_type' : 'DIMM', 'is_fru' : True,},
+
+	'<inventory_root>/system/chassis/motherboard/dimm3' :
+		{ 'fru_type' : 'DIMM', 'is_fru' : True,},
+
+	'<inventory_root>/system/chassis/io_board/pcie_slot0' :
+		{ 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
+
+	'<inventory_root>/system/chassis/io_board/pcie_slot1' :
+		{ 'fru_type' : 'PCIE_CARD', 'is_fru' : True,},
+
 }
 
 ID_LOOKUP = {
 	'FRU' : {
-		0x0d : '<inventory_root>/system',
-		0x34 : '<inventory_root>/system/motherboard',
-		0x01 : '<inventory_root>/system/motherboard/cpu0',
-		0x02 : '<inventory_root>/system/motherboard/centaur0',
-		0x03 : '<inventory_root>/system/motherboard/dimm0',
-		0x04 : '<inventory_root>/system/motherboard/dimm1',
-		0x05 : '<inventory_root>/system/motherboard/dimm2',
-		0x06 : '<inventory_root>/system/motherboard/dimm3',
+		0x0d : '<inventory_root>/system/chassis',
+		0x34 : '<inventory_root>/system/chassis/motherboard',
+		0x01 : '<inventory_root>/system/chassis/motherboard/cpu0',
+		0x02 : '<inventory_root>/system/chassis/motherboard/centaur0',
+		0x03 : '<inventory_root>/system/chassis/motherboard/dimm0',
+		0x04 : '<inventory_root>/system/chassis/motherboard/dimm1',
+		0x05 : '<inventory_root>/system/chassis/motherboard/dimm2',
+		0x06 : '<inventory_root>/system/chassis/motherboard/dimm3',
 		0xff : '<inventory_root>/system',
 	},
+	'FRU_STR' : {
+		'CHASSIS' : '<inventory_root>/system/chassis',
+		'PRODUCT' : '<inventory_root>/system',
+		'BOARD'   : '<inventory_root>/system/chassis/motherboard',
+	},
 	'SENSOR' : {
-		0x2f : '<inventory_root>/system/motherboard/cpu0',
-		0x22 : '<inventory_root>/system/motherboard/cpu0/core0',
-		0x23 : '<inventory_root>/system/motherboard/cpu0/core1',
-		0x24 : '<inventory_root>/system/motherboard/cpu0/core2',
-		0x25 : '<inventory_root>/system/motherboard/cpu0/core3',
-		0x26 : '<inventory_root>/system/motherboard/cpu0/core4',
-		0x27 : '<inventory_root>/system/motherboard/cpu0/core5',
-		0x28 : '<inventory_root>/system/motherboard/cpu0/core6',
-		0x29 : '<inventory_root>/system/motherboard/cpu0/core7',
-		0x2a : '<inventory_root>/system/motherboard/cpu0/core8',
-		0x2b : '<inventory_root>/system/motherboard/cpu0/core9',
-		0x2c : '<inventory_root>/system/motherboard/cpu0/core10',
-		0x2d : '<inventory_root>/system/motherboard/cpu0/core11',
-		0x2e : '<inventory_root>/system/motherboard/centaur0',
-		0x1e : '<inventory_root>/system/motherboard/dimm0',
-		0x1f : '<inventory_root>/system/motherboard/dimm1',
-		0x20 : '<inventory_root>/system/motherboard/dimm2',
-		0x21 : '<inventory_root>/system/motherboard/dimm3',
+		0x2f : '<inventory_root>/system/chassis/motherboard/cpu0',
+		0x22 : '<inventory_root>/system/chassis/motherboard/cpu0/core0',
+		0x23 : '<inventory_root>/system/chassis/motherboard/cpu0/core1',
+		0x24 : '<inventory_root>/system/chassis/motherboard/cpu0/core2',
+		0x25 : '<inventory_root>/system/chassis/motherboard/cpu0/core3',
+		0x26 : '<inventory_root>/system/chassis/motherboard/cpu0/core4',
+		0x27 : '<inventory_root>/system/chassis/motherboard/cpu0/core5',
+		0x28 : '<inventory_root>/system/chassis/motherboard/cpu0/core6',
+		0x29 : '<inventory_root>/system/chassis/motherboard/cpu0/core7',
+		0x2a : '<inventory_root>/system/chassis/motherboard/cpu0/core8',
+		0x2b : '<inventory_root>/system/chassis/motherboard/cpu0/core9',
+		0x2c : '<inventory_root>/system/chassis/motherboard/cpu0/core10',
+		0x2d : '<inventory_root>/system/chassis/motherboard/cpu0/core11',
+		0x2e : '<inventory_root>/system/chassis/motherboard/centaur0',
+		0x1e : '<inventory_root>/system/chassis/motherboard/dimm0',
+		0x1f : '<inventory_root>/system/chassis/motherboard/dimm1',
+		0x20 : '<inventory_root>/system/chassis/motherboard/dimm2',
+		0x21 : '<inventory_root>/system/chassis/motherboard/dimm3',
 		0x09 : '/org/openbmc/sensor/virtual/BootCount',
 		0x05 : '/org/openbmc/sensor/virtual/BootProgress',
 		0x04 : '/org/openbmc/sensor/virtual/HostStatus',
@@ -435,8 +343,8 @@
 		0x32 : '/org/openbmc/sensor/virtual/OperatingSystemStatus',
 	},
 	'GPIO_PRESENT' : {
-		'SLOT0_PRESENT' : '<inventory_root>/system/io_board/pcie_slot0', 
-		'SLOT1_PRESENT' : '<inventory_root>/system/io_board/pcie_slot1', 
+		'SLOT0_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot0', 
+		'SLOT1_PRESENT' : '<inventory_root>/system/chassis/io_board/pcie_slot1', 
 	}
 }
 
@@ -453,8 +361,8 @@
 GPIO_CONFIG['SLOT0_RISER_PRESENT'] =   { 'gpio_num': 104, 'direction': 'in' }
 GPIO_CONFIG['SLOT1_RISER_PRESENT'] =   { 'gpio_num': 105, 'direction': 'in' }
 GPIO_CONFIG['SLOT2_RISER_PRESENT'] =   { 'gpio_num': 106, 'direction': 'in' }
-GPIO_CONFIG['SLOT0_PRESENT'] =  { 'gpio_num': 107, 'direction': 'in' }
-GPIO_CONFIG['SLOT1_PRESENT'] =  { 'gpio_num': 108, 'direction': 'in' }
+GPIO_CONFIG['SLOT0_PRESENT'] =  { 'gpio_num': 470, 'direction': 'in' }
+GPIO_CONFIG['SLOT1_PRESENT'] =  { 'gpio_num': 471, 'direction': 'in' }
 GPIO_CONFIG['SLOT2_PRESENT'] =  { 'gpio_num': 109, 'direction': 'in' }
 GPIO_CONFIG['MEZZ0_PRESENT'] =  { 'gpio_num': 112, 'direction': 'in' }
 GPIO_CONFIG['MEZZ1_PRESENT'] =  { 'gpio_num': 113, 'direction': 'in' }
diff --git a/bin/chassis_control.py b/bin/chassis_control.py
index bf84a13..6283aca 100755
--- a/bin/chassis_control.py
+++ b/bin/chassis_control.py
@@ -126,7 +126,7 @@
 	## Signal handler
 
 	def SystemStateHandler(self,state_name):
-		if (state_name == "POWERED_OFF" and self.reboot==1):
+		if (state_name == "HOST_POWERED_OFF" and self.reboot==1):
 			self.powerOn()
 				
 
diff --git a/bin/sensors_virtual_p8.py b/bin/sensors_virtual_p8.py
index 55aa149..c348e83 100755
--- a/bin/sensors_virtual_p8.py
+++ b/bin/sensors_virtual_p8.py
@@ -53,7 +53,7 @@
 		SensorValue.__init__(self)
 		dbus.service.Object.__init__(self,bus,name)
 		
-HS_IFACE = 'org.openbmc.HostStatus'
+CONTROL_IFACE = 'org.openbmc.Control'
 class HostStatusSensor(SensorValue):
 	def __init__(self,bus,name):
 		SensorValue.__init__(self)
@@ -64,19 +64,37 @@
 		in_signature='v', out_signature='')
 	def setValue(self,value):
 		SensorValue.setValue(self,value)
-		if (value == "BOOTED"):
-			self.Booted()
+		if (value == "BLAH"):
+			self.GotoSystemState("OS_BOOTED")
 			
-	@dbus.service.signal(HS_IFACE,signature='')
-	def Booted(self):
+	@dbus.service.signal(CONTROL_IFACE,signature='s')
+	def GotoSystemState(self,state):
 		pass
 		
+CONTROL_IFACE = 'org.openbmc.Control'
+class BootProgressSensor(SensorValue):
+	def __init__(self,bus,name):
+		SensorValue.__init__(self)
+		dbus.service.Object.__init__(self,bus,name)
+
+	##override setValue method
+	@dbus.service.method(SensorValue.IFACE_NAME,
+		in_signature='v', out_signature='')
+	def setValue(self,value):
+		SensorValue.setValue(self,value)
+		if (value == "FW Progress, Starting OS"):
+			self.GotoSystemState("HOST_BOOTED")
+			
+	@dbus.service.signal(CONTROL_IFACE,signature='s')
+	def GotoSystemState(self,state):
+		pass
+		
+
 
 				
 if __name__ == '__main__':
 	
 	sensors = {
-		'BootProgress' : None,
 		'OperatingSystemStatus' : None,
 		'BootCount' : None,
 		'OccStatus' : None,
@@ -88,6 +106,7 @@
 		sensors[instance]= VirtualSensor(bus,OBJ_PATH+instance)
 
 	sensors['HostStatus'] = HostStatusSensor(bus,OBJ_PATH+"HostStatus")
+	sensors['BootProgress'] = BootProgressSensor(bus,OBJ_PATH+"BootProgress")
 	mainloop = gobject.MainLoop()
    
 	## Initialize sensors 
diff --git a/bin/system_manager.py b/bin/system_manager.py
index 441e957..7f94578 100755
--- a/bin/system_manager.py
+++ b/bin/system_manager.py
@@ -56,9 +56,10 @@
 				new_val = val.replace("<inventory_root>",System.INVENTORY_ROOT)
 				System.ID_LOOKUP[category][key] = new_val
 	
-		self.SystemStateHandler("BMC_INIT")
+		self.SystemStateHandler(System.SYSTEM_STATES[0])
 		print "SystemManager Init Done"
 
+
 	def SystemStateHandler(self,state_name):
 		print "Checking previous state started..."
 		i = 0
@@ -97,10 +98,27 @@
 			pass
 
 		self.current_state = state_name
-		
+
+	def gotoNextState(self):
+		s = 0
+		for i in range(len(System.SYSTEM_STATES)):
+			if (System.SYSTEM_STATES[i] == self.current_state):
+				s = i+1
+	
+		if (s == len(System.SYSTEM_STATES)):
+			print "ERROR SystemManager: No more system states"
+		else:
+			new_state_name = System.SYSTEM_STATES[s]
+			print "SystemManager Goto System State: "+new_state_name
+			self.SystemStateHandler(new_state_name)
+	
+	
 	@dbus.service.method(DBUS_NAME,
-		in_signature='ss', out_signature='(sss)')
-	def getObjectFromId(self,category,key):
+		in_signature='', out_signature='s')
+	def getSystemState(self):
+		return self.current_state
+
+	def doObjectLookup(self,category,key):
 		bus_name = ""
 		obj_path = ""
 		intf_name = INTF_ITEM
@@ -108,25 +126,6 @@
 			obj_path = System.ID_LOOKUP[category][key]
 			bus_name = self.bus_name_lookup[obj_path]
 			parts = obj_path.split('/')
-			if (parts[2] == 'sensor'):
-				intf_name = INTF_SENSOR
-		except Exception as e:
-			print "ERROR SystemManager: "+str(e)+" not found in lookup"
-
-		return [bus_name,obj_path,intf_name]
-
-
-	@dbus.service.method(DBUS_NAME,
-		in_signature='sy', out_signature='(sss)')
-	def getObjectFromByteId(self,category,key):
-		bus_name = ""
-		obj_path = ""
-		intf_name = INTF_ITEM
-		try:
-			byte = int(key)
-			obj_path = System.ID_LOOKUP[category][byte]
-			bus_name = self.bus_name_lookup[obj_path]
-			parts = obj_path.split('/')
 			if (parts[3] == 'sensor'):
 				intf_name = INTF_SENSOR
 		except Exception as e:
@@ -134,6 +133,16 @@
 
 		return [bus_name,obj_path,intf_name]
 
+	@dbus.service.method(DBUS_NAME,
+		in_signature='ss', out_signature='(sss)')
+	def getObjectFromId(self,category,key):
+		return self.doObjectLookup(category,key)
+
+	@dbus.service.method(DBUS_NAME,
+		in_signature='sy', out_signature='(sss)')
+	def getObjectFromByteId(self,category,key):
+		byte = int(key)
+		return self.doObjectLookup(category,byte)
 	
 	def start_process(self,bus_name):
 		if (System.SYSTEM_CONFIG[bus_name]['start_process'] == True):
@@ -176,7 +185,6 @@
 					break;	
 		return r
 	
-
 	def NewBusHandler(self, bus_name, a, b):
 		if (len(b) > 0 and bus_name.find(Openbmc.BUS_PREFIX) == 0):
 			objects = {}
@@ -192,7 +200,6 @@
 				pass
 	
 			if (System.SYSTEM_CONFIG.has_key(bus_name)):
-				System.SYSTEM_CONFIG[bus_name]['heartbeat_count'] = 0
 				for instance_name in objects.keys(): 
 					obj_path = objects[instance_name]['PATH']
 					for instance in System.SYSTEM_CONFIG[bus_name]['instances']:
@@ -213,18 +220,9 @@
 				for obj_path in System.EXIT_STATE_DEPEND[self.current_state]:
 					if (System.EXIT_STATE_DEPEND[self.current_state][obj_path] == 0):
 						state = 0
+				## all required objects have started so go to next state
 				if (state == 1):
-					s = 0
-					for i in range(len(System.SYSTEM_STATES)):
-						if (System.SYSTEM_STATES[i] == self.current_state):
-							s = i+1
-
-					if (s == len(System.SYSTEM_STATES)):
-						print "ERROR SystemManager: No more system states"
-					else:
-						new_state_name = System.SYSTEM_STATES[s]
-						print "SystemManager Goto System State: "+new_state_name
-						self.SystemStateHandler(new_state_name)
+					self.gotoNextState()
 			except:
 				pass
 
diff --git a/objects/control_host_obj.c b/objects/control_host_obj.c
index 9f6fb92..d051f88 100644
--- a/objects/control_host_obj.c
+++ b/objects/control_host_obj.c
@@ -91,7 +91,7 @@
 	gpio_close(&fsi_enable);
 	gpio_close(&cronus_sel);
 
-	control_emit_goto_system_state(control,"BOOTING");
+	control_emit_goto_system_state(control,"HOST_BOOTING");
 	
 	control_host_emit_booted(host);
 	return TRUE;
