why protocol2