changed the way arguments are used in declare/begin/call macros