contract Creature is TradeableERC721Token {
  string public metadata;
  constructor(address _proxyRegistryAddress, string memory _metadata, string memory _name) TradeableERC721Token(_name, "RELAX", _proxyRegistryAddress) public {
    metadata = _metadata;
  }

  function updatemetadata(string memory _metadata) public onlyOwner{
    metadata = _metadata;
  }

  function baseTokenURI() public view returns (string memory) {
    return metadata;
  }

  // The only token contract owner can burn the token.
  function burn(uint256 _tokenId) public onlyOwner {
    _burn(msg.sender, _tokenId);
  }
}
/**
 * @title Creature
 * Creature - a contract for my non-fungible creatures.
 */
function burn(uint256 _tokenId) public onlyOwner {
  _burn(msg.sender, _tokenId);
}

// The only token contract owner can burn the token.