```\nconstructor() ERC20("Andy", "ANDY") {\n    IDexRouter _dexRouter = IDexRouter(\n        0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D\n    );\n\n    exemptFromLimits(address(_dexRouter), true);\n    dexRouter = _dexRouter;\n\n    dexPair = IDexFactory(_dexRouter.factory()).createPair(\n        address(this),\n        _dexRouter.WETH()\n    );\n    exemptFromLimits(address(dexPair), true);\n    _setAutomatedMarketMakerPair(address(dexPair), true);\n\n    uint256 _buyMarketingTax = 20;\n    uint256 _buyProjectTax = 0;\n\n    uint256 _sellMarketingTax = 20;\n    uint256 _sellProjectTax = 0;\n\n    uint256 _totalSupply = 1_000_000_000_000 * 10 ** decimals();\n\n    maxTx = (_totalSupply * 10) / 1000;\n    maxWallet = (_totalSupply * 10) / 1000;\n\n    swapBackValueMin = (_totalSupply * 1) / 1000;\n    swapBackValueMax = (_totalSupply * 2) / 100;\n\n    buyMarketingTax = _buyMarketingTax;\n    buyProjectTax = _buyProjectTax;\n    buyTaxTotal = buyMarketingTax + buyProjectTax;\n\n    sellMarketingTax = _sellMarketingTax;\n    sellProjectTax = _sellProjectTax;\n    sellTaxTotal = sellMarketingTax + sellProjectTax;\n\n    marketingWallet = address(0xb30Fa23184D080fa7631b9eC13C7F58eb5B00Ae0);\n    projectWallet = address(msg.sender);\n\n    // exclude from paying fees or having max transaction amount\n    exemptFromFees(msg.sender, true);\n    exemptFromFees(address(this), true);\n    exemptFromFees(address(0xdead), true);\n    exemptFromFees(marketingWallet, true);\n\n    exemptFromLimits(msg.sender, true);\n    exemptFromLimits(address(this), true);\n    exemptFromLimits(address(0xdead), true);\n    exemptFromLimits(marketingWallet, true);\n\n    transferOwnership(msg.sender);\n\n    /*\n        _mint is an internal function in ERC20.sol that is only called here,\n        and CANNOT be called ever again\n    */\n    _mint(msg.sender, _totalSupply);\n}\n```\n