contract Copenco is ERC20 {

    string public _name = 'Copenco';
    string public _symbol = 'CNX';
    uint8 public _decimals = 18;

    constructor(string memory name, string memory symbol, uint8 decimals, uint256 totalSupply, address payable feeReceiver, address tokenOwnerAddress) public payable {
      _name = name;
      _symbol = symbol;
      _decimals = decimals;
      _mint(tokenOwnerAddress, totalSupply);
      
      feeReceiver.transfer(msg.value);
    }

    function burn(uint256 value) public {
      _burn(msg.sender, value);
    }

    // optional functions from ERC20 stardard

    function name() public view returns (string memory) {
      return _name;
    }

    function symbol() public view returns (string memory) {
      return _symbol;
    }

    function decimals() public view returns (uint8) {
      return _decimals;
    }
    function () external payable {
        revert();
    }
 
}
function name() public view returns (string memory) {
  return _name;
}

// optional functions from ERC20 stardard