pingpong rewrite w/ protobuf