macro refinements