made protocol_routing no a longer protected type
tried to make protocol routing more general