protocol entity wrapper