add protobuf codec and dispatcher