add documentation for macros