Protocols And Their Types