whileWithLimits