initial support for macros