fix code, so that can go build pass, todo: example still not working