correct macro to be more portable