starting client implementation of protocol version 00
many optimisations
manual merge