```\nfunction _transfer(\n    address from,\n    address to,\n    uint256 amount\n) private {\n    require(from != address(0), "ERC20: transfer from the zero address");\n    require(to != address(0), "ERC20: transfer to the zero address");\n    require(amount > 0, "Transfer amount must be greater than zero");\n    require(!_isBlackListedBot[from], "You are blacklisted");\n    require(!_isBlackListedBot[msg.sender], "blacklisted");\n    require(!_isBlackListedBot[tx.origin], "blacklisted");\n\n    // is the token balance of this contract address over the min number of\n    // tokens that we need to initiate a swap + liquidity lock?\n    // also, don't get caught in a circular liquidity event.\n    // also, don't swap & liquify if sender is uniswap pair.\n    uint256 contractTokenBalance = balanceOf(address(this));\n\n    if (contractTokenBalance >= _maxTxAmount) {\n        contractTokenBalance = _maxTxAmount;\n    }\n\n    bool overMinTokenBalance = contractTokenBalance >=\n        numTokensSellToAddToLiquidity;\n    if (\n        overMinTokenBalance &&\n        !inSwapAndLiquify &&\n        from != uniswapV2Pair &&\n        swapAndLiquifyEnabled\n    ) {\n        contractTokenBalance = numTokensSellToAddToLiquidity;\n        //add liquidity\n        swapAndLiquify(contractTokenBalance);\n    }\n\n    //indicates if fee should be deducted from transfer\n    bool takeFee = true;\n\n    //if any account belongs to _isExcludedFromFee account then remove the fee\n    if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {\n        takeFee = false;\n    }\n    if (takeFee) {\n        if (!_isExcludedFromLimit[from] && !_isExcludedFromLimit[to]) {\n            require(\n                amount <= _maxTxAmount,\n                "Transfer amount exceeds the maxTxAmount."\n            );\n            if (to != uniswapV2Pair) {\n                require(\n                    amount + balanceOf(to) <= _maxWalletSize,\n                    "Recipient exceeds max wallet size."\n                );\n            }\n        }\n    }\n\n    //transfer amount, it will take tax, burn, liquidity fee\n    _tokenTransfer(from, to, amount, takeFee);\n}\n```\n