add protocol, and revised section 2.3