diff --git a/Makefile b/Makefile
index ea14c51..2c49960 100644
--- a/Makefile
+++ b/Makefile
@@ -25,8 +25,8 @@
 libopenbmc_intf: openbmc_intf.o
 	$(CC) -shared -o lib/$@.so obj/openbmc_intf.o $(CFLAGS)
 
-power_control: power_control_obj.o gpio.o event_log.o
-	$(CC) -o bin/$@.exe obj/event_log.o obj/gpio.o obj/power_control_obj.o $(OFLAGS) $(CFLAGS)
+power_control: power_control_obj.o gpio.o
+	$(CC) -o bin/$@.exe obj/gpio.o obj/power_control_obj.o $(OFLAGS) $(CFLAGS)
 
 chassis_identify: chassis_identify_obj.o gpio.o
 	$(CC) -o bin/$@.exe obj/gpio.o obj/chassis_identify_obj.o $(OFLAGS) $(CFLAGS)
diff --git a/bin/Openbmc.py b/bin/Openbmc.py
index b320d52..9cfeffb 100644
--- a/bin/Openbmc.py
+++ b/bin/Openbmc.py
@@ -20,8 +20,6 @@
 	'NOT_PRESENT'       : 3,
 }
 
-EVENT_TYPES = ['NONE','FATAL','RECOVERABLE','WARNING','SW_ERROR','INFO']
-
 
 ENUMS = {
 	'org.openbmc.SensorIntegerThreshold.state' : 
diff --git a/bin/eventlogger.py b/bin/eventlogger.py
index 0c4fcfc..95edfb8 100644
--- a/bin/eventlogger.py
+++ b/bin/eventlogger.py
@@ -1,6 +1,8 @@
 #!/usr/bin/env python
 
 import sys
+import datetime
+import time
 import syslog
 import json
 import gobject
@@ -12,24 +14,33 @@
 DBUS_NAME = 'org.openbmc.loggers.EventLogger'
 OBJ_NAME = '/org/openbmc/loggers/EventLogger/'+sys.argv[1]
 
+
 class EventLogger(dbus.service.Object):
 	def __init__(self,bus,name):
 		dbus.service.Object.__init__(self,bus,name)
 		bus = dbus.SessionBus()
-		syslog.openlog('openbmc')
-
 		bus.add_signal_receiver(self.event_log_signal_handler, 
 					dbus_interface = "org.openbmc.EventLog", 
 					signal_name = "EventLog",
 					path_keyword='path')
 
 	## Signal handler
-	def event_log_signal_handler(self,e_type,msg,path = None):
+	def event_log_signal_handler(self,priority,msg,path = None):
 		message = {}
+		ts = time.time()
+
+		message['priority'] = priority
 		message['object_path'] = path
-		message['e_type'] = Openbmc.EVENT_TYPES[int(e_type)]
 		message['message'] = msg
-		syslog.syslog(json.dumps(message))
+
+		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)
diff --git a/includes/gpio.c b/includes/gpio.c
index 4b22f89..992745f 100644
--- a/includes/gpio.c
+++ b/includes/gpio.c
@@ -43,18 +43,26 @@
 {
 	char buf[1];
 	int r = GPIO_OK;
-	if (read(gpio->fd,&buf,1) != 1)
+	if (gpio->fd <= 0)
 	{
-		r = GPIO_READ_ERROR;
-	} else {
-		if (buf[0]=='1') {
-			*value = 1;
+		r = GPIO_ERROR;	
+	}
+	else
+	{
+		if (read(gpio->fd,&buf,1) != 1)
+		{
+			g_print("here1\n");
+			r = GPIO_READ_ERROR;
 		} else {
-			*value = 0;
+			g_print("here2\n");
+			if (buf[0]=='1') {
+				*value = 1;
+			} else {
+				*value = 0;
+			}
 		}
 	}
 	return r;
-
 }
 int gpio_clock_cycle(GPIO* gpio, int num_clks) {
         int i=0;
diff --git a/includes/openbmc.h b/includes/openbmc.h
index 5ae0ede..bb6660b 100644
--- a/includes/openbmc.h
+++ b/includes/openbmc.h
@@ -13,6 +13,8 @@
 #define NEW_VARIANT_B(v)       g_variant_new_variant(g_variant_new_byte(v)) 
 #define VARIANT_COMPARE(x,y)   g_variant_compare(GET_VARIANT(x),GET_VARIANT(y))
 
+
+
 #ifdef __arm__
 static inline void write_reg(uint32_t val,void* addr)
 {
diff --git a/interfaces/openbmc_intf.c b/interfaces/openbmc_intf.c
index ec88fdc..fcdac58 100644
--- a/interfaces/openbmc_intf.c
+++ b/interfaces/openbmc_intf.c
@@ -17669,12 +17669,12 @@
 
 /* ---- Introspection data for org.openbmc.EventLog ---- */
 
-static const _ExtendedGDBusArgInfo _event_log_signal_info_event_log_ARG_e_type =
+static const _ExtendedGDBusArgInfo _event_log_signal_info_event_log_ARG_priority =
 {
   {
     -1,
-    (gchar *) "e_type",
-    (gchar *) "y",
+    (gchar *) "priority",
+    (gchar *) "i",
     NULL
   },
   FALSE
@@ -17693,7 +17693,7 @@
 
 static const _ExtendedGDBusArgInfo * const _event_log_signal_info_event_log_ARG_pointers[] =
 {
-  &_event_log_signal_info_event_log_ARG_e_type,
+  &_event_log_signal_info_event_log_ARG_priority,
   &_event_log_signal_info_event_log_ARG_message,
   NULL
 };
@@ -17784,7 +17784,7 @@
   /**
    * EventLog::event-log:
    * @object: A #EventLog.
-   * @arg_e_type: Argument.
+   * @arg_priority: Argument.
    * @arg_message: Argument.
    *
    * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-openbmc-EventLog.EventLog">"EventLog"</link> is received.
@@ -17799,14 +17799,14 @@
     NULL,
     g_cclosure_marshal_generic,
     G_TYPE_NONE,
-    2, G_TYPE_UCHAR, G_TYPE_STRING);
+    2, G_TYPE_INT, G_TYPE_STRING);
 
 }
 
 /**
  * event_log_emit_event_log:
  * @object: A #EventLog.
- * @arg_e_type: Argument to pass with the signal.
+ * @arg_priority: Argument to pass with the signal.
  * @arg_message: Argument to pass with the signal.
  *
  * Emits the <link linkend="gdbus-signal-org-openbmc-EventLog.EventLog">"EventLog"</link> D-Bus signal.
@@ -17814,10 +17814,10 @@
 void
 event_log_emit_event_log (
     EventLog *object,
-    guchar arg_e_type,
+    gint arg_priority,
     const gchar *arg_message)
 {
-  g_signal_emit_by_name (object, "event-log", arg_e_type, arg_message);
+  g_signal_emit_by_name (object, "event-log", arg_priority, arg_message);
 }
 
 /* ------------------------------------------------------------------------ */
@@ -18378,7 +18378,7 @@
 static void
 _event_log_on_signal_event_log (
     EventLog *object,
-    guchar arg_e_type,
+    gint arg_priority,
     const gchar *arg_message)
 {
   EventLogSkeleton *skeleton = EVENT_LOG_SKELETON (object);
@@ -18387,8 +18387,8 @@
   GVariant   *signal_variant;
   connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
 
-  signal_variant = g_variant_ref_sink (g_variant_new ("(ys)",
-                   arg_e_type,
+  signal_variant = g_variant_ref_sink (g_variant_new ("(is)",
+                   arg_priority,
                    arg_message));
   for (l = connections; l != NULL; l = l->next)
     {
diff --git a/interfaces/openbmc_intf.h b/interfaces/openbmc_intf.h
index e7cbdec..3e764c1 100644
--- a/interfaces/openbmc_intf.h
+++ b/interfaces/openbmc_intf.h
@@ -2345,7 +2345,7 @@
 
   void (*event_log) (
     EventLog *object,
-    guchar arg_e_type,
+    gint arg_priority,
     const gchar *arg_message);
 
 };
@@ -2359,7 +2359,7 @@
 /* D-Bus signal emissions functions: */
 void event_log_emit_event_log (
     EventLog *object,
-    guchar arg_e_type,
+    gint arg_priority,
     const gchar *arg_message);
 
 
diff --git a/objects/power_control_obj.c b/objects/power_control_obj.c
index 3395502..9291345 100644
--- a/objects/power_control_obj.c
+++ b/objects/power_control_obj.c
@@ -6,10 +6,10 @@
 #include <unistd.h>
 #include <sys/stat.h>
 #include <sys/mman.h>
+#include <syslog.h>
 #include "interfaces/openbmc_intf.h"
 #include "openbmc.h"
 #include "gpio.h"
-#include "event_log.h"
 
 /* ---------------------------------------------------------------------------------------------------- */
 static const gchar* dbus_object_path = "/org/openbmc/control";
@@ -27,6 +27,7 @@
 
 static gboolean poll_pgood(gpointer user_data)
 {
+	g_print("polling\n");
 	ControlPower *control_power = object_get_control_power((Object*)user_data);
 	Control* control = object_get_control((Object*)user_data);
 	EventLog* event_log = object_get_event_log((Object*)user_data);
@@ -38,9 +39,10 @@
 
 	if (pgood_timeout_count > pgood_timeout)
 	{
-		event_log_emit_event_log(event_log, FATAL, "Pgood poll timeout");
+		event_log_emit_event_log(event_log, LOG_ALERT, "Pgood poll timeout");
 		control_power_set_pgood_timeout(control_power,0);
-		//return FALSE;
+		pgood_timeout_count = 0;
+		return TRUE;
 	}
 	//For simulation, remove
 	if (tmp_pgood!=last_pgood) {
@@ -72,8 +74,8 @@
  			}
 		}
 	} else {
-		event_log_emit_event_log(event_log, FATAL, "GPIO read error");
-		//return FALSE;
+		event_log_emit_event_log(event_log, LOG_ALERT, "GPIO read error");
+		return FALSE;
 	}
 	//pgood is not at desired state yet
 	if (gpio != control_power_get_state(control_power) &&
@@ -133,7 +135,7 @@
 		} while(0);
 		if (error != GPIO_OK)
 		{
-			event_log_emit_event_log(event_log, FATAL, "GPIO setup error");
+			event_log_emit_event_log(event_log, LOG_ALERT, "GPIO setup error");
 		}
 	}
 	return TRUE;
diff --git a/xml/openbmc_intf.xml b/xml/openbmc_intf.xml
index 4a26f12..728fdbd 100644
--- a/xml/openbmc_intf.xml
+++ b/xml/openbmc_intf.xml
@@ -124,7 +124,7 @@
 	</interface>
 	<interface name="org.openbmc.EventLog">
 		<signal name="EventLog">
-			<arg name="e_type" type="y"/>
+			<arg name="priority" type="i"/>
 			<arg name="message" type="s"/>
 		</signal>
 	</interface>	
