update
add a func
add protobuf file
update(protobuf working)