Initial commit for protocol version 3 update. Needs further testing and improvement
Merge branch 'protocol-version-3'

Initial update for protocol version 3. Needs further testing and improvement.