general refinements