more changes to upper bound