allow for more protocol types