reaction macro