Modified protocol a lot...and added some supporting code. Not functionnal