design plan: implmenet mod_macro