function claimFreeFirstCard(address referer) external {
        require(!claimedAddresses[msg.sender]);
        
        uint8[14] memory newCard = generateRandomCard(uint32(msg.sender));
        if (!newUserBonusCardTradable) {
            newCard[13] = 1;
        }
        claimedAddresses[msg.sender] = true;
        storageContract.mintCard(msg.sender, newCard);
        allocateReferalBonus(referer);
    }