generation of macro variables