various refinements