Initial version of Go implementaiton (and example)