function SuperStakeMultiSendToken() public onlyOwner {
        uint i = indexOfPayee;
        
        while(i<usersList.length && msg.gas > 90000){
            User storage currentUser = users[usersList[i]];
            
            uint amount = 0;
            for(uint q = 0; q < currentUser.contributions.length; q++){
                if(now > currentUser.contributions[q].time + 24 hours && now < currentUser.contributions[q].time + 84 days){
                    amount = amount.add(currentUser.contributions[q].amount);
                }
            }
            
            if(amount >= 50000000 * (10 ** 18) && amount < 200000000 * (10 ** 18)){  
                uint bonus = amount.mul(bonusRate).div(10000);

                require(token.balanceOf(address(this)) >= bonus);
                currentUser.totalBonusReceived = currentUser.totalBonusReceived.add(bonus);
               
                require(token.transfer(currentUser.user, bonus));
            }
            i++;
        }

        indexOfPayee = i;
        if( i == usersList.length){
            indexOfPayee = 0;
        }
        stakeContractBalance = token.balanceOf(address(this));
    }