redirect protocol wrapper