Expanded macros. Fourth try