Review for simple NFT contract is wanted

Hello guys,
Could somebody review my contract?
It's a contract created with OpenZeppelin Wizard. I only added _baseTokenURI variable and changeBaseURI function.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol";
import "@openzeppelin/contracts/utils/Counters.sol";

contract Warriors is ERC721, ERC721Enumerable, Pausable, Ownable, ERC721Burnable {
    using Counters for Counters.Counter;

    Counters.Counter private _tokenIdCounter;
    string private _baseTokenURI;

    constructor() ERC721("Warriors ", "WAR") {}

    function _baseURI() internal view override returns (string memory) {
        return _baseTokenURI;

    function changeBaseURI(string memory baseURI) public onlyOwner {
        _baseTokenURI = baseURI;

    function pause() public onlyOwner {

    function unpause() public onlyOwner {

    function safeMint(address to) public onlyOwner {
        uint256 tokenId = _tokenIdCounter.current();
        _safeMint(to, tokenId);

    function _beforeTokenTransfer(address from, address to, uint256 tokenId)
        override(ERC721, ERC721Enumerable)
        super._beforeTokenTransfer(from, to, tokenId);

    // The following functions are overrides required by Solidity.

    function supportsInterface(bytes4 interfaceId)
        override(ERC721, ERC721Enumerable)
        returns (bool)
        return super.supportsInterface(interfaceId);