% limit doesn't need to be outside the if