add defaults and macros