Imporve gpio class