Changed the protocol read flow a little.