```\\nfunction buyBackAndBurnTokens(uint256 amount) external onlyOwner() {\\n    if(!inSwapAndLiquify && amount > 0 && amount <= address(this).balance) {\\n        // get contracts balance of tokens\\n        uint256 initialTokenBalance = balanceOf(address(this));\\n        \\n        // swap eth for the tokens\\n        address[] memory path = new address[](2);\\n        path[0] = uniswapV2Router.WETH();\\n        path[1] = address(this);\\n\\n        uint[] memory amountOutMins = uniswapV2Router.getAmountsOut(amount, path);\\n        uint256 minTokens = (amountOutMins[1] * _slipPercent) / 100;\\n\\n        // make the swap\\n        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(\\n            minTokens,\\n            path,\\n            address(this),\\n            block.timestamp\\n        );\\n\\n        // get amount of tokens we swapped into\\n        uint256 swappedTokenBalance = balanceOf(address(this)) - initialTokenBalance;\\n\\n        // burn the tokens\\n        transfer(_deadAddress, swappedTokenBalance);\\n        emit BoughtAndBurnedTokens(amount);\\n    }\\n}\\n```\\n