The main protocol has a long history, it started out very simple and then was extended to add more and more gaming options. From version 5 on, the previous binary-opcode protocol was replaced by an extensible XML representation, which is processed with SAX parsers on both the client and the server side. Details of the protocol follow in the next chapter.