macros basesd on the parser looks like a new idea (but it is not)