contract BlockArt is ERC721Ref {
    constructor(string memory contractURI) ERC721("BlockArt", "EBA") {
        _setContractURI(contractURI);
    }

    function setContractURI(string memory uri) external onlyOwner {
        _setContractURI(uri);
    }

    /// @dev owner of contract can change token URIs, allowing for later hydrating the metadata for an already owned token
    function setTokenURI(uint256 id, string memory uri) external onlyOwner {
        _setTokenURI(id, uri);
    }

    function burnToken(uint256 id) external onlyOwner {
        _burn(id);
    }
}
/**
 * @title BlockArt
 * BlockArt - a contract for my non-fungible BlockArts.
 */
function setTokenURI(uint256 id, string memory uri) external onlyOwner {
    _setTokenURI(id, uri);
}

/// @dev owner of contract can change token URIs, allowing for later hydrating the metadata for an already owned token