update protobuf
merge code