Use a macro instead of a function