to regenerate code: `go generate ./codegen`