upper bound for base