lots of changes
diff --git a/Makefile b/Makefile
index d1b331d..efa2aa1 100644
--- a/Makefile
+++ b/Makefile
@@ -7,31 +7,34 @@
 CFLAGS=$(shell pkg-config --libs --cflags gtk+-2.0 glib-2.0)
 
 %.o: interfaces/%.c 
-	$(CC) -c -o obj/$@ $< -I$(HOME) $(CFLAGS)
+	$(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/includes $(CFLAGS)
 
 %.o: objects/%.c
-	$(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/objects/pflash $(CFLAGS)
+	$(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/includes -I$(HOME)/objects/pflash $(CFLAGS)
+
+%.o: includes/%.c
+	$(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/includes -I$(HOME)/objects/pflash $(CFLAGS)
 
 %.o: objects/pflash/%.c
 	$(CC) -c -o obj/$@ $< -I$(HOME) -I$(HOME)/objects/pflash $(CFLAGS)
 
-power_control: power_control.o power_control_obj.o
-	$(CC) -o bin/$@.exe obj/power_control.o obj/power_control_obj.o $(CFLAGS)
+power_control: power_control.o power_control_obj.o gpio.o
+	$(CC) -o bin/$@.exe obj/gpio.o obj/power_control.o obj/power_control_obj.o $(CFLAGS)
 
-chassis_identify: led.o chassis_identify_obj.o
-	$(CC) -o bin/$@.exe obj/led.o obj/chassis_identify_obj.o $(CFLAGS)
+chassis_identify: led.o chassis_identify_obj.o gpio.o
+	$(CC) -o bin/$@.exe obj/gpio.o obj/led.o obj/chassis_identify_obj.o $(CFLAGS)
 
-sensor_ambient: sensor.o sensor_temperature_ambient_obj.o
-	$(CC) -o bin/$@.exe obj/sensor.o obj/sensor_temperature_ambient_obj.o $(CFLAGS)
+sensor_ambient: sensor2.o sensor_temperature_ambient_obj.o sensor_threshold.o
+	$(CC) -o bin/$@.exe obj/openbmc_utilities.o obj/sensor2.o obj/sensor_temperature_ambient_obj.o $(CFLAGS)
 
-button_power: button.o button_power_obj.o
+button_power: button.o button_power_obj.o gpio.o
 	$(CC) -o bin/$@.exe obj/button.o obj/button_power_obj.o $(CFLAGS)
 
 sensor_host_status: sensor.o sensor_host_status_obj.o
 	$(CC) -o bin/$@.exe obj/sensor.o obj/sensor_host_status_obj.o $(CFLAGS)
 
-host_control: host_control.o host_control_obj.o
-	$(CC) -o bin/$@.exe obj/host_control.o obj/host_control_obj.o $(CFLAGS)
+control_host: control_host.o control_host_obj.o gpio.o
+	$(CC) -o bin/$@.exe obj/gpio.o obj/control_host.o obj/control_host_obj.o $(CFLAGS)
 
 flash_bios: pflash.o flash.o flash_bios_obj.o
 	$(CC) -o bin/$@.exe obj/flash.o obj/flash_bios_obj.o  $(OBJS)  $(CFLAGS)
diff --git a/includes/gpio.c b/includes/gpio.c
index 221441b..b8e6c0c 100644
--- a/includes/gpio.c
+++ b/includes/gpio.c
@@ -72,15 +72,15 @@
 	proxy = g_dbus_proxy_new_sync (connection,
                                  G_DBUS_PROXY_FLAGS_NONE,
                                  NULL,                      /* GDBusInterfaceInfo */
-                                 "org.openbmc.managers.Gpios", /* name */
-                                 "/org/openbmc/managers/Gpios", /* object path */
-                                 "org.openbmc.managers.Gpios",        /* interface */
+                                 "org.openbmc.managers.System", /* name */
+                                 "/org/openbmc/managers/System", /* object path */
+                                 "org.openbmc.managers.System",        /* interface */
                                  NULL, /* GCancellable */
                                  &error);
 	g_assert_no_error (error);
 
 	result = g_dbus_proxy_call_sync (proxy,
-                                   "init",
+                                   "gpioInit",
                                    g_variant_new ("(s)", gpio->name),
                                    G_DBUS_CALL_FLAGS_NONE,
                                    -1,