macros defs can now be defined as objects