add a littile modification for gpio