diff --git a/I2C_serial_pi.py b/I2C_serial_pi.py
index d928b77db33c00b86e96b3bf84ff1314a6515011..422b64689920c9860c0b4bdd7e6feed130d637b0 100644
--- a/I2C_serial_pi.py
+++ b/I2C_serial_pi.py
@@ -22,19 +22,20 @@ import smbus
 import sys
 from time import *
 
-DEBUG=False
+DEBUG = True
+
 
 class I2C:
 
-    def __init__(self, ADDRESS='040'):
+    def __init__(self, ADDRESS='040',BUSNR=3):
         self.I2C_Address = ADDRESS
-        self.BUS_NR = 1
-        bus = smbus.SMBus(self.BUS_NR)
-
+        self.bus_nr = BUSNR
 
     def read_bytes(self, register, bytes_to_read=2):
+        bus = smbus.SMBus(self.bus_nr)
         try:
-            ret_value = bus.read_i2c_block_data(self.I2C_Address, register, bytes_to_read)
+            rd_value = bus.read_i2c_block_data(self.I2C_Address, register, bytes_to_read)
+            ret_value = hex(rd_value[0])[2:] 
             ret_ack = 1
         except IOError, err:
             ret_ack = 0
@@ -45,6 +46,7 @@ class I2C:
 
     
     def read_last_reg(self, bytes_to_read):
+        bus = smbus.SMBus(self.bus_nr)
         ret_value=[]
         for cnt in bytes_to_read:
             try:
@@ -58,8 +60,9 @@ class I2C:
         return ret_ack,ret_value
   
     def write_bytes(self, register, data):
+        bus = smbus.SMBus(self.bus_nr)
         try:
-            bus.write_i2c_block_data(self.I2C_Address, register, data)
+            bus.write_i2c_block_data(self.I2C_Address, register, [data])
             ret_ack = 1
         except IOError, err:
             ret_ack = 0
@@ -69,6 +72,7 @@ class I2C:
         return ret_ack
 
     def write_pointer(self, register):
+        bus = smbus.SMBus(self.bus_nr)
         try:
             ret_value = bus.read_i2c_block_data(self.I2C_Address, register, 1)
             ret_ack = 1