handle macro.