add protocal define