handling with and macros