a bunch of refinements