refactoring go_GPIO