Changed the protocol implementation. Still we need more work on this