function BuySnail(address _ref) public payable {
        require(gameStarted == true, "game hasn't started yet");
        require(tx.origin == msg.sender, "contracts not allowed");
        require(msg.value <= TOKEN_MAX_BUY, "maximum buy = 4 ETH");
        
        
        uint256 _snailsBought = ComputeBuy(msg.value);
        
        
        claimedDivs[msg.sender] = claimedDivs[msg.sender].add(_snailsBought.mul(divsPerSnail));
        
        
        maxSnail = maxSnail.add(_snailsBought);
        
        
        PotSplit(msg.value, _ref, true);
        
        
        lastHatch[msg.sender] = now;
        
        
        hatcherySnail[msg.sender] = hatcherySnail[msg.sender].add(_snailsBought);
        
        emit BoughtSnail(msg.sender, msg.value, _snailsBought);
    }