update max limits, recuse