Added macros and expansion