Improve protocol

See commit messages for details