move macrodeclaration to the top