Add multi-protocol support