a section on writing macros