various logical refinements