added macros support