Move to go

Initial Go version, 
anyway this is a playable version now.