add control for jumping out upperbound