generators, macros