maybe working variant with exchange list