proper using of   macro to call