add MACRO and TYPE