added macro_expansion and pointerd