Fleshed out the protocol a bit. Still very incomplete.