variable length exchange