loop limit complete