simplify protocols