better way to get protocols