changing protocol interface