protocol designer