macro with argument working