more protocol agnosticism