function distribute(uint numIterations) public onlyDistributor {

        promoWallet.transfer(amountForDistribution.mul(6).div(100));
        distributorWallet.transfer(amountForDistribution.mul(1).div(100));
        wallet1.transfer(amountForDistribution.mul(1).div(100));
        wallet2.transfer(amountForDistribution.mul(1).div(100));
        wallet3.transfer(amountForDistribution.mul(1).div(100));

        uint i = 0;
        uint toSend = deposites[currentPaymentIndex].amount.mul(percent).div(100);
        

        while ((i <= numIterations) && (address(this).balance > toSend)) {
        	
        	
        	
            deposites[currentPaymentIndex].depositor.send(toSend);
            deposites[currentPaymentIndex].paimentTime = now;
            emit OnPaymentSent(deposites[currentPaymentIndex].depositor, toSend);

            
            currentPaymentIndex = currentPaymentIndex.add(1);
            i = i.add(1);
            
            
            
            
            
            if(currentPaymentIndex < deposites.length)
                toSend = deposites[currentPaymentIndex].amount.mul(percent).div(100);
                
        }

        amountForDistribution = 0;
    }