```\nfunction _transferBothExcluded(\n    address sender,\n    address recipient,\n    uint256 tAmount\n) private {\n    (\n        uint256 tTransferAmount,\n        uint256 tFee,\n        uint256 tLiquidity,\n        uint256 tWallet,\n        uint256 tDonation\n    ) = _getTValues(tAmount);\n    (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(\n        tAmount,\n        tFee,\n        tLiquidity,\n        tWallet,\n        tDonation,\n        _getRate()\n    );\n\n    _tOwned[sender] = _tOwned[sender].sub(tAmount);\n    _rOwned[sender] = _rOwned[sender].sub(rAmount);\n    _tOwned[recipient] = _tOwned[recipient].add(tTransferAmount);\n    _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);\n    _takeLiquidity(tLiquidity);\n    _takeWalletFee(tWallet);\n    _takeDonationFee(tDonation);\n    _reflectFee(rFee, tFee);\n    emit Transfer(sender, recipient, tTransferAmount);\n}\n```\n