Update to dynamically figure out protocol