use protos for op rules