Protocol

Protocol branch is closed and properly tested.