simplify protocol