Do macro requirements properly