diff --git a/bin/Barreleye.py b/bin/Barreleye.py
index e32f559..d7c596b 100644
--- a/bin/Barreleye.py
+++ b/bin/Barreleye.py
@@ -4,8 +4,8 @@
 import dbus
 import Openbmc
 
-HOME_PATH = '/media/sf_vbox/openbmc/'
-BIN_PATH = HOME_PATH+'bin/'
+HOME_PATH = './'
+BIN_PATH = HOME_PATH
 CACHE_PATH = HOME_PATH+'cache/'
 FRU_PATH = CACHE_PATH+'frus/'
 
@@ -70,7 +70,7 @@
 		'instances' : [	
 			{
 				'name' : 'Barreleye',
-				'user_label': 'Fru Manager',
+				'user_label': 'Ipmi Manager',
 			}
 		]
 	}
@@ -92,8 +92,8 @@
 	}
 
 SYSTEM_CONFIG['org.openbmc.loggers.EventLogger'] = {
-		'system_state' : 'STANDBY',
-		'start_process' : True,
+		'system_state' : 'INIT',
+		'start_process' : False,
 		'monitor_process' : True,
 		'process_name' : 'eventlogger.py',
 		'heartbeat' : 'no',
@@ -141,7 +141,7 @@
 						'poll_interval' : 3000
 					},
 					'org.openbmc.control.Power': {
-						'pgood_timeout' : 10000
+						'pgood_timeout' : 10
 					}
 				}
 			}
@@ -223,7 +223,7 @@
 	}
 SYSTEM_CONFIG['org.openbmc.flash.BIOS'] = {
 		'system_state' : 'STANDBY',
-		'start_process' : True,
+		'start_process' : False,
 		'monitor_process' : True,
 		'process_name' : 'flash_bios.exe',
 		'heartbeat' : 'no',
@@ -328,29 +328,77 @@
 	'cache'      : True
 }
 
-FRUS = {}
-
-## key is IPMI FRU ID
-
-FRUS[32] = {
-		'name' : 'CPU0',
-		'user_label' : "IBM POWER8 CPU",
-		'ftype' : Openbmc.FRU_TYPES['CPU'],
-		'location' : "P0",
-		'manufacturer' : "IBM",
-		'cache' : True,
-		'state' : Openbmc.FRU_STATES['NORMAL'],
-		'sensor_id' : 10,
-	}
-
-FRUS[21] = {
-		'name' : 'IO_PLANAR',
-		'user_label' : "BARRELEYE IO PLANAR",
-		'ftype' : Openbmc.FRU_TYPES['BACKPLANE'],	
-		'cache' : False,
-		'state' : Openbmc.FRU_STATES['NORMAL'],
-		'sensor_id' : 11,
-	}
+FRU_INSTANCES = {
+	'/system' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['SYSTEM'],
+		'fru'	       : True,
+	},
+	'/system/motherboard' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['MAIN_PLANAR'],
+		'manufacturer' : 'FOXCONN',
+		'fru'	       : True,
+		'fru_id'       : 31,
+		'location' : 'C0',
+	},
+	'/system/fan0' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['FAN'],
+		'manufacturer' : 'DELTA',
+		'fru'	       : True,
+		'location' : 'F0',
+		'sensor_link' : 'fans/Fan_0',
+	},
+	'/system/fan1' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['FAN'],
+		'manufacturer' : 'DELTA',
+		'fru'	       : True,
+		'location' : 'F1',
+		'sensor_link' : 'fans/Fan_1',
+	},
+	'/system/motherboard/bmc' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['BMC'],
+		'manufacturer' : 'ASPEED',
+		'fru'	       : True,
+	},
+	'/system/motherboard/cpu0' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['CPU'],
+		'manufacturer' : 'IBM',
+		'fru'	       : True,
+		'location' : 'P0',
+		'fru_id'   : 10,
+	},
+	'/system/motherboard/cpu0/core0' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['CORE'],
+		'fru'	       : False,
+		'sensor_link' : 1,	
+	},
+	'/system/motherboard/cpu0/core1' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['CORE'],
+		'fru'	       : False,
+		'sensor_link' : 2,	
+	},
+	'/system/motherboard/dimm0' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['DIMM'],
+		'fru'	       : True,
+		'fru_id'       : 12,
+		'sensor_link'  : 20,	
+	},
+	'/system/motherboard/dimm1' :
+	{
+		'ftype'        : Openbmc.FRU_TYPES['DIMM'],
+		'fru'	       : True,
+		'fru_id'       : 13,
+		'sensor_link'  : 21,	
+	},
+}
 
 
 GPIO_CONFIG = {}
diff --git a/bin/Openbmc.py b/bin/Openbmc.py
index 9cfeffb..a777ae8 100644
--- a/bin/Openbmc.py
+++ b/bin/Openbmc.py
@@ -7,11 +7,14 @@
 
 
 FRU_TYPES = {
+	'SYSTEM' : 0,
 	'CPU' : 1,
 	'DIMM' : 2,
-	'BACKPLANE' : 3,
+	'MAIN_PLANAR' : 3,
 	'RISER_CARD' : 4,
-	'FAN' : 5
+	'FAN' : 5,
+	'BMC' : 6,
+	'CORE' : 7,
 }
 FRU_STATES = {
 	'NORMAL'            : 0,
diff --git a/bin/eventlogger.py b/bin/eventlogger.py
index 131faec..e36f928 100644
--- a/bin/eventlogger.py
+++ b/bin/eventlogger.py
@@ -25,13 +25,14 @@
 					path_keyword='path')
 
 	## Signal handler
-	def event_log_signal_handler(self,priority,msg,path = None):
+	def event_log_signal_handler(self,priority,msg,rc,path = None):
 		message = {}
 		ts = time.time()
 
 		message['priority'] = priority
 		message['object_path'] = path
 		message['message'] = msg
+		message['rc'] = rc
 
 		json_dump = json.dumps(message)
 		print "EVENT_LOG: "+json_dump
diff --git a/bin/fru_manager.py b/bin/fru_manager.py
index 1150552..220b7d3 100644
--- a/bin/fru_manager.py
+++ b/bin/fru_manager.py
@@ -17,7 +17,7 @@
 
 DBUS_NAME = 'org.openbmc.managers.Frus'
 OBJ_NAME = '/org/openbmc/managers/Frus'
-FRU_PATH = System.FRU_PATH
+FRUS = System.FRU_INSTANCES
 
 class Fru:
 	def __init__(self,fru_id,data):
@@ -89,13 +89,13 @@
 					signal_name = 'UpdateFru')
 
 		self.fru_db = {}
-		for fid in System.FRUS.keys():
-			self.updateFru(fid,System.FRUS[fid])
+		self.fru_id_lookup = {}
+		for fru in FRUS.keys():
+			#self.updateFru(fid,System.FRUS[fid])
+			if (FRUS[fru].has_key('fru_id')):
+				print fru
+				print FRUS[fru]['fru_id']
 			
-			
-	#@dbus.service.signal(DBUS_NAME)
-	#def OpenBmcRunning(self):
-	#	pass
 	def UpdateFruHandler(self,fru_id,data):
 		self.updateFru(fru_id,data)		
 
diff --git a/bin/system_manager.py b/bin/system_manager.py
index 1a4fe99..015aa8d 100644
--- a/bin/system_manager.py
+++ b/bin/system_manager.py
@@ -9,7 +9,8 @@
 import dbus.mainloop.glib
 import os
 import PropertyManager
-
+import time
+import json
 import Openbmc
 
 if (len(sys.argv) < 2):
@@ -35,6 +36,12 @@
 					signal_name = "NameOwnerChanged")
 		bus.add_signal_receiver(self.HeartbeatHandler, signal_name = "Heartbeat")
 		bus.add_signal_receiver(self.SystemStateHandler,signal_name = "GotoSystemState")
+		bus.add_signal_receiver(self.event_log_signal_handler, 
+					dbus_interface = "org.openbmc.EventLog", 
+					signal_name = "EventLog",
+					path_keyword='path')
+
+
 
 		self.current_state = ""
 		self.system_states = {}
@@ -168,6 +175,22 @@
 
 		return [Openbmc.GPIO_DEV, gpio_num, System.GPIO_CONFIG[name]['direction']]
 
+	## Signal handler
+	def event_log_signal_handler(self,priority,msg,rc,path = None):
+		message = {}
+		ts = time.time()
+
+		message['priority'] = priority
+		message['object_path'] = path
+		message['message'] = msg
+		message['rc'] = rc
+
+		json_dump = json.dumps(message)
+		print "EVENT_LOG: "+json_dump
+		#syslog.openlog('OpenBmc',logoption=syslog.LOG_PID)
+		#syslog.syslog(priority,json_dump)
+		#syslog.closelog()
+		
 
 if __name__ == '__main__':
     dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
