add: Macro and Util