fix upper bound
reverse version