function BuyBooster() external 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 += (msg.value * 9403) / 10000;

        
        honeyPotAmount += (msg.value * 597) / 20000;
        devFund += (msg.value * 597) / 20000;

        
        nextBoosterPrice += nextBoosterPrice / 20;

        UpdateMoney();
        UpdateMoneyAt(beneficiary);

        
        boosterHolders[boosterIndex] = msg.sender;

        
        boosterIndex += 1;
        if(boosterIndex >= 5)
            boosterIndex = 0;
    }