function BuyBooster() public payable 
    {
        require(msg.value >= nextBoosterPrice);
        require(miners[msg.sender].lastUpdateTime != 0);
        
        for(uint i = 0; i < NUMBER_OF_BOOSTERS; ++i)
            if(boosterHolders[i] == msg.sender)
                revert();
                
        address beneficiary = boosterHolders[boosterIndex];
        
        MinerData storage m = miners[beneficiary];
        
        
        m.unclaimedPot += nextBoosterPrice * 95 / 100;
        
        
        BuyHandler((nextBoosterPrice / 20));
        
        
        nextBoosterPrice += nextBoosterPrice / 20;
        
        UpdateMoney();
        UpdateMoneyAt(beneficiary);
        
        
        boosterHolders[boosterIndex] = msg.sender;
        
        
        boosterIndex += 1;
        if(boosterIndex >= 5)
            boosterIndex = 0;
    }