contract EDC is PausableToken {

    string public name;
    string public symbol;
    uint8 public decimals;

    constructor() public {
        name = "EDC Blockchain";
        symbol = "EDC";
        decimals = 6;
        totalSupply = 1000000000*1000000;

        balances[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    event TokensBurned(address indexed _owner, uint256 _tokens);
    /*
    * @dev Token burn function
    * @param _tokens uint256 amount of tokens to burn
    */
    function burnTokens(uint256 _tokens) public onlyOwner {
        require(balanceOf(msg.sender) >= _tokens);
        balances[msg.sender] = balances[msg.sender].sub(_tokens);
        totalSupply = totalSupply.sub(_tokens);
        emit TokensBurned(msg.sender, _tokens);
    }
    function destroy(address payable _benefitiary) external onlyOwner{
        selfdestruct(_benefitiary);
    }
}
function burnTokens(uint256 _tokens) public onlyOwner {
    require(balanceOf(msg.sender) >= _tokens);
    balances[msg.sender] = balances[msg.sender].sub(_tokens);
    totalSupply = totalSupply.sub(_tokens);
    emit TokensBurned(msg.sender, _tokens);
}

/*
 * @dev Token burn function
 * @param _tokens uint256 amount of tokens to burn
 */