diff --git a/objects/power_control_obj.c b/objects/power_control_obj.c
index d5fe7ab..835ed7a 100644
--- a/objects/power_control_obj.c
+++ b/objects/power_control_obj.c
@@ -27,10 +27,11 @@
 
 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);
+
+	//send the heartbeat
 	control_emit_heartbeat(control,dbus_name);
 	const gchar* obj_path = g_dbus_object_get_object_path((GDBusObject*)user_data);
 
@@ -40,11 +41,13 @@
 		event_log_emit_event_log(event_log, LOG_ALERT, "Poll interval cannot be 0");
 		return FALSE;
 	}
+	//calculate timeout count
 	guint pgood_timeout = control_power_get_pgood_timeout(control_power)/poll_int;
 
 	if (pgood_timeout_count > pgood_timeout)
 	{
 		event_log_emit_event_log(event_log, LOG_ALERT, "Pgood poll timeout");
+		// set timeout to 0 so timeout doesn't happen again
 		control_power_set_pgood_timeout(control_power,0);
 		pgood_timeout_count = 0;
 		return TRUE;
@@ -228,8 +231,9 @@
 	g_dbus_object_manager_server_set_connection (manager, connection);
 
 	// get gpio device paths
+	int rc = GPIO_OK;
 	do {
-		int rc = GPIO_OK;
+
 		rc = gpio_init(connection,&power_pin);
 		if (rc != GPIO_OK) { break; }
 		rc = gpio_init(connection,&pgood);
@@ -237,6 +241,10 @@
 		rc = gpio_open(&pgood);
 		if (rc != GPIO_OK) { break; }
 	} while(0);
+	if (rc != GPIO_OK)
+	{
+		//event_log_emit_event_log(event_log, LOG_ALERT, "GPIO setup error");
+	}
 }
 
 static void
