right and left exchange