implement the 2.6 wire protocol