A bunch of work on the binary protocol