should we be writing this recursively (or the wrapping functionality somewhere to do this for each protocol we find) in anticipation of other protocols in the future. I am wondering what would be the best way to catch that this is not set up for multiple protocols in the future.