add upper bound