go go  refactoring go