contract BlockGenii is ERC20, Ownable, ERC20Burnable, Pausable { // Assign as required.
    constructor() ERC20("BlockGenii", "BGI") {
        _mint(msg.sender, 1000000000 * 10 ** decimals()); // Mint initial supply.
    }
    // Add ability to mint additional supply.
    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
    // Pausable: Pause all functionality.
    function pause() public onlyOwner {
        _pause();
    }
    // Pausable: Unpause all functionality.
    function unpause() public onlyOwner {
        _unpause();
    }
    // Pausable: Prevent functionality when paused.
    function _beforeTokenTransfer(address from, address to, uint256 amount)
        internal
        whenNotPaused
        override
    {
        super._beforeTokenTransfer(from, to, amount);
    }
}
/**
 * Onwable: Add Ownable modifier to contract. Remove modifier and codeblock above if not required.
 * Mintable: Leave mint function below in place to enable. Remove if not required.
 * Burnable: Add ERC20Burnable modifier to contract. Remove modifier and codeblock above if not required.
 * Pausable: Add Pausable modifier to contract.
 */
function unpause() public onlyOwner {
    _unpause();
}

// Pausable: Unpause all functionality.