several refinements