both define and extend this macro