better upper bound