drastically simplify upwardProve