change protocol interface