tree/list exchange