diff --git a/CatalystEnabledSimulation/coprocessor.py b/CatalystEnabledSimulation/coprocessor.py
deleted file mode 100644
index c8c5d0719c8c1187ed60eae8bf5b77a43150707c..0000000000000000000000000000000000000000
--- a/CatalystEnabledSimulation/coprocessor.py
+++ /dev/null
@@ -1,88 +0,0 @@
-coProcessor = None
-
-def initialize():
-    global coProcessor
-    import paraview
-    from vtk import vtkParallelCore
-    import paraview.servermanager as pvsm
-    import vtk
-    from mpi4py import MPI
-    import os, sys
-
-    paraview.options.batch = True
-    paraview.options.symmetric = True
-    from paraview.modules import vtkRemotingServerManager as CorePython
-    from paraview.modules.vtkRemotingApplication import vtkInitializationHelper
-
-    if not pvsm.vtkProcessModule.GetProcessModule():
-        pvoptions = None
-        if paraview.options.batch:
-            pvoptions = CorePython.vtkPVOptions();
-            pvoptions.SetProcessType(CorePython.vtkPVOptions.PVBATCH)
-            if paraview.options.symmetric:
-                pvoptions.SetSymmetricMPIMode(True)
-        vtkInitializationHelper.Initialize(sys.executable, pvsm.vtkProcessModule.PROCESS_BATCH, pvoptions)
-
-    
-    # we need ParaView 4.2 since ParaView 4.1 doesn't properly wrap
-    # vtkPVPythonCatalyst
-    if pvsm.vtkSMProxyManager.GetVersionMajor() < 4 or (pvsm.vtkSMProxyManager.GetVersionMajor() == 4 and pvsm.vtkSMProxyManager.GetVersionMinor() < 2):
-        print('Must use ParaView v4.2 or greater')
-        sys.exit(0)
-
-    import numpy
-    from paraview.modules import vtkPVCatalyst as catalyst
-    from paraview.modules import vtkPVPythonCatalyst as pythoncatalyst
-    import paraview.simple
-    import paraview.vtk as vtk
-    from paraview.vtk.util import numpy_support
-    paraview.options.batch = True
-    paraview.options.symmetric = True
-
-    coProcessor = catalyst.vtkCPProcessor()
-    pm = paraview.servermanager.vtkProcessModule.GetProcessModule()
-    from mpi4py import MPI
-
-def finalize():
-    global coProcessor
-    coProcessor.Finalize()
-    # if we are running through Python we need to finalize extra stuff
-    # to avoid memory leak messages.
-    import sys, ntpath
-    if ntpath.basename(sys.executable) == 'python':
-        from paraview.modules.vtkRemotingApplication import vtkInitializationHelper
-        vtkInitializationHelper.Finalize()
-
-def addscript(name):
-    global coProcessor
-    from paraview.modules import vtkPVPythonCatalyst as pythoncatalyst
-    pipeline = pythoncatalyst.vtkCPPythonScriptPipeline()
-    pipeline.Initialize(name)
-    coProcessor.AddPipeline(pipeline)
-
-def coprocess(time, timeStep, grid, attributes):
-    global coProcessor
-    import vtk
-    from paraview.modules import vtkPVCatalyst as catalyst
-    import paraview
-    from paraview.vtk.util import numpy_support
-    dataDescription = catalyst.vtkCPDataDescription()
-    dataDescription.SetTimeData(time, timeStep)
-    dataDescription.AddInput("input")
-
-    if coProcessor.RequestDataDescription(dataDescription):
-        import fedatastructures
-        imageData = vtk.vtkImageData()
-        imageData.SetExtent(grid.XStartPoint, grid.XEndPoint, 0, grid.NumberOfYPoints-1, 0, grid.NumberOfZPoints-1)
-        imageData.SetSpacing(grid.Spacing)
-
-        velocity = numpy_support.numpy_to_vtk(attributes.Velocity)
-        velocity.SetName("velocity")
-        imageData.GetPointData().AddArray(velocity)
-
-        pressure = numpy_support.numpy_to_vtk(attributes.Pressure)
-        pressure.SetName("pressure")
-        imageData.GetCellData().AddArray(pressure)
-        dataDescription.GetInputDescriptionByName("input").SetGrid(imageData)
-        dataDescription.GetInputDescriptionByName("input").SetWholeExtent(0, grid.NumberOfGlobalXPoints-1, 0, grid.NumberOfYPoints-1, 0, grid.NumberOfZPoints-1)
-        coProcessor.CoProcess(dataDescription)
diff --git a/CatalystEnabledSimulation/cpscript.py b/CatalystEnabledSimulation/cpscript.py
deleted file mode 100644
index b115bf4b155132e389551358d1f14c9038039337..0000000000000000000000000000000000000000
--- a/CatalystEnabledSimulation/cpscript.py
+++ /dev/null
@@ -1,93 +0,0 @@
-from paraview.simple import *
-from paraview import coprocessing
-
-#--------------------------------------------------------------
-# Code generated from cpstate.py to create the CoProcessor.
-
-
-# ----------------------- CoProcessor definition -----------------------
-
-def CreateCoProcessor():
-  def _CreatePipeline(coprocessor, datadescription):
-    class Pipeline:
-      filename_6_pvti = coprocessor.CreateProducer( datadescription, "input" )
-
-      # create a new 'Parallel ImageData Writer'
-      imageDataWriter1 = servermanager.writers.XMLPImageDataWriter(Input=filename_6_pvti)
-
-      # register the writer with coprocessor
-      # and provide it with information such as the filename to use,
-      # how frequently to write the data, etc.
-      coprocessor.RegisterWriter(imageDataWriter1, filename="fullgrid_%t.pvti", freq=10000)
-
-      Slice1 = Slice( Input=filename_6_pvti, guiName="Slice1", Crinkleslice=0, SliceOffsetValues=[0.0], Triangulatetheslice=1, SliceType="Plane" )
-      Slice1.SliceType.Offset = 0.0
-      Slice1.SliceType.Origin = [9.0, 11.0, 9.0]
-      Slice1.SliceType.Normal = [1.0, 0.0, 0.0]
-
-      # create a new 'Parallel PolyData Writer'
-      parallelPolyDataWriter1 = servermanager.writers.XMLPPolyDataWriter(Input=Slice1)
-
-      # register the writer with coprocessor
-      # and provide it with information such as the filename to use,
-      # how frequently to write the data, etc.
-      coprocessor.RegisterWriter(parallelPolyDataWriter1, filename='slice_%t.pvtp', freq=1000)
-
-    return Pipeline()
-
-  class CoProcessor(coprocessing.CoProcessor):
-    def CreatePipeline(self, datadescription):
-      self.Pipeline = _CreatePipeline(self, datadescription)
-
-  coprocessor = CoProcessor()
-  freqs = {'input': [10, 100]}
-  coprocessor.SetUpdateFrequencies(freqs)
-  return coprocessor
-
-#--------------------------------------------------------------
-# Global variables that will hold the pipeline for each timestep
-# Creating the CoProcessor object, doesn't actually create the ParaView pipeline.
-# It will be automatically setup when coprocessor.UpdateProducers() is called the
-# first time.
-coprocessor = CreateCoProcessor()
-
-#--------------------------------------------------------------
-# Enable Live-Visualizaton with ParaView
-coprocessor.EnableLiveVisualization(True, 1)
-
-
-# ---------------------- Data Selection method ----------------------
-
-def RequestDataDescription(datadescription):
-    "Callback to populate the request for current timestep"
-    global coprocessor
-    if datadescription.GetForceOutput() == True:
-        # We are just going to request all fields and meshes from the simulation
-        # code/adaptor.
-        for i in range(datadescription.GetNumberOfInputDescriptions()):
-            datadescription.GetInputDescription(i).AllFieldsOn()
-            datadescription.GetInputDescription(i).GenerateMeshOn()
-        return
-
-    # setup requests for all inputs based on the requirements of the
-    # pipeline.
-    coprocessor.LoadRequestedData(datadescription)
-
-# ------------------------ Processing method ------------------------
-
-def DoCoProcessing(datadescription):
-    "Callback to do co-processing for current timestep"
-    global coprocessor
-
-    # Update the coprocessor by providing it the newly generated simulation data.
-    # If the pipeline hasn't been setup yet, this will setup the pipeline.
-    coprocessor.UpdateProducers(datadescription)
-
-    # Write output data, if appropriate.
-    coprocessor.WriteData(datadescription);
-
-    # Write image capture (Last arg: rescale lookup table), if appropriate.
-    coprocessor.WriteImages(datadescription, rescale_lookuptable=False)
-
-    # Live Visualization, if enabled.
-    coprocessor.DoLiveVisualization(datadescription, "localhost", 22222)
diff --git a/CatalystEnabledSimulation/fedatastructures.py b/CatalystEnabledSimulation/fedatastructures.py
deleted file mode 100644
index b4b2424dca04a236dfceb137373ab1fd035bdeae..0000000000000000000000000000000000000000
--- a/CatalystEnabledSimulation/fedatastructures.py
+++ /dev/null
@@ -1,44 +0,0 @@
-import numpy
-
-class GridClass:
-    """
-    We are working with a uniform grid which will be
-    represented as a vtkImageData in Catalyst. It is partitioned
-    in the x-direction only.
-    """
-    def __init__(self, pointDimensions, spacing):
-        from mpi4py import MPI
-        comm = MPI.COMM_WORLD
-        rank = comm.Get_rank()
-        size = comm.Get_size()
-
-        self.XStartPoint = int(pointDimensions[0]*rank/size)
-        self.XEndPoint = int(pointDimensions[0]*(rank+1)/size)
-        if rank+1 != size:
-            self.XEndPoint += 1
-        else:
-            self.XEndPoint = pointDimensions[0]-1
-        self.NumberOfYPoints = pointDimensions[1]
-        self.NumberOfZPoints = pointDimensions[2]
-        self.NumberOfGlobalXPoints = pointDimensions[0]
-
-        self.PointDimensions = pointDimensions
-        self.Spacing = spacing
-
-    def GetNumberOfPoints(self):
-        return (self.XEndPoint-self.XStartPoint+1)*self.PointDimensions[1]*self.PointDimensions[2]
-
-    def GetNumberOfCells(self):
-        return (self.XEndPoint-self.XStartPoint)*(self.PointDimensions[1]-1)*(self.PointDimensions[2]-1)
-
-class AttributesClass:
-    """
-    We have velocity point data and pressure cell data.
-    """
-    def __init__(self, grid):
-        self.Grid = grid
-
-    def Update(self, time):
-        self.Velocity = numpy.zeros((self.Grid.GetNumberOfPoints(), 3))
-        self.Velocity = self.Velocity + time
-        self.Pressure = numpy.random.rand(self.Grid.GetNumberOfCells())
diff --git a/CatalystEnabledSimulation/fedriver.py b/CatalystEnabledSimulation/fedriver.py
deleted file mode 100644
index 78deb07b13ec3b6d436b8e78851b16823714c90a..0000000000000000000000000000000000000000
--- a/CatalystEnabledSimulation/fedriver.py
+++ /dev/null
@@ -1,47 +0,0 @@
-"""
-A simple example of a Python simulation code working with Catalyst.
-It depends on numpy and mpi4py being available. The environment
-variables need to be set up properly to find Catalyst when running directly
-from python. For Linux
-and Mac machines they should be:
-export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<Catalyst build dir>/lib
-export PYTHONPATH=<Catalyst build dir>/lib:<Catalyst build dir>/lib/site-packages
-
-Alternatively, pvbatch or pvpython can be used which will automatically set up
-system paths for using Catalyst.
-
-When running, Catalyst scripts must be added in on the command line. For example:
-</path/to/pvpython> fedriver.py cpscript.py
-mpirun -np 4 </path/to/pvbatch> -sym fedriver.py cpscript.py
-"""
-from time import sleep
-
-import numpy
-import sys
-from mpi4py import MPI
-
-comm = MPI.COMM_WORLD
-rank = comm.Get_rank()
-
-import fedatastructures
-
-grid = fedatastructures.GridClass([5, 6, 5], [4, 4, 4])
-attributes = fedatastructures.AttributesClass(grid)
-doCoprocessing = True
-
-if doCoprocessing:
-    import coprocessor
-    coprocessor.initialize()
-    for i in sys.argv[1:]:
-        if rank == 0:
-            print('Using Catalyst script', i)
-        coprocessor.addscript(i)
-
-for i in range(10000):
-    sleep(0.5)
-    attributes.Update(i)
-    if doCoprocessing:
-        coprocessor.coprocess(i, i, grid, attributes)
-
-if doCoprocessing:
-    coprocessor.finalize()
diff --git a/Dockerfile b/Dockerfile
index 4f493cfceca86e7fa2af35603673e262f7c3be0e..8ebcb58040222dd433d9ed31536291fd2a277f9d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -138,15 +138,4 @@ RUN pip install jupyter-server-proxy \
     && npm cache clean --force \
     && rm -rf $CONDA_DIR/share/jupyter/lab/staging \
     && rm -rf /home/$NB_USER/.cache/yarn \
-    && rm -rf /home/$NB_USER/.node-gyp \
-    && mkdir logs
-
-ENV JUPYTER_LOG_DIR "/home/jovyan/work/logs"
-
-COPY --chown=$NB_UID:$NB_GID notebooks/*.ipynb /home/$NB_USER/work/
-COPY --chown=$NB_UID:$NB_GID files/pv_server.py /home/$NB_USER/work/
-COPY --chown=$NB_UID:$NB_GID data /home/$NB_USER/work/data
-COPY --chown=$NB_UID:$NB_GID CatalystEnabledSimulation  /home/$NB_USER/work/CatalystEnabledSimulation
-
-# Turn off warnings in Python 3.8
-ENV PYTHONWARNINGS "ignore"
+    && rm -rf /home/$NB_USER/.node-gyp
diff --git a/data/waveletElevation.vti b/data/waveletElevation.vti
deleted file mode 100644
index e5544635914944fe21a254e82e88db72bf36da76..0000000000000000000000000000000000000000
Binary files a/data/waveletElevation.vti and /dev/null differ
diff --git a/data/waveletMaterial.vti b/data/waveletMaterial.vti
deleted file mode 100644
index 010518c3135a44940867c0293a8c19c103e391d2..0000000000000000000000000000000000000000
--- a/data/waveletMaterial.vti
+++ /dev/null
@@ -1,1346 +0,0 @@
-<VTKFile type="ImageData" version="1.0" byte_order="LittleEndian" header_type="UInt64">
-  <ImageData WholeExtent="-10 10 -10 10 -10 10" Origin="0 0 0" Spacing="1 1 1">
-  <Piece Extent="-10 10 -10 10 -10 10">
-    <PointData>
-    </PointData>
-    <CellData Scalars="Material">
-      <DataArray type="Float64" Name="Material" format="ascii" RangeMin="0" RangeMax="5">
-        5 5 5 5 5 5
-        5 5 5 4 4 4
-        4 4 4 3 3 3
-        3 3 5 5 5 5
-        5 5 5 5 4 4
-        4 4 4 4 3 3
-        3 3 3 3 5 5
-        5 5 5 5 5 5
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        5 5 5 5 5 5
-        5 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 5 5 5 5
-        5 5 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 5 5
-        5 5 5 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        5 5 5 5 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 5 5 5 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 2 2 5 4
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 2 2 2 2
-        4 4 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 3 2 2
-        2 2 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 2
-        2 2 2 2 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 4 4 4 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 4 3
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 1 1
-        3 3 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 3 3 3 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 5 5
-        5 5 5 5 5 5
-        5 4 4 4 4 4
-        4 3 3 3 3 3
-        5 5 5 5 5 5
-        5 5 4 4 4 4
-        4 4 3 3 3 3
-        3 3 5 5 5 5
-        5 5 5 4 4 4
-        4 4 4 4 3 3
-        3 3 3 2 5 5
-        5 5 5 5 5 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        5 5 5 5 5 5
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 5 5 5 5
-        5 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 2 2 5 5
-        5 5 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 2 2
-        5 5 4 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 5 4 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 2 2 2 2
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 4 4
-        4 4 4 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 1
-        4 4 4 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 4 3 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        1 1 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        3 3 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 5 5 5 5
-        5 5 5 5 4 4
-        4 4 4 4 3 3
-        3 3 3 3 5 5
-        5 5 5 5 5 5
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        5 5 5 5 5 5
-        5 4 4 4 4 4
-        4 4 3 3 3 3
-        3 2 5 5 5 5
-        5 5 5 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 5 5
-        5 5 5 5 4 4
-        4 4 4 4 4 3
-        3 3 3 3 2 2
-        5 5 5 5 5 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 5 5 5 5
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 2 2 5 5
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        4 4 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        2 2 4 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 2 2 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 1 4 4
-        4 3 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 1 1
-        3 3 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 3 3
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        5 5 5 5 5 5
-        5 5 4 4 4 4
-        4 4 3 3 3 3
-        3 3 5 5 5 5
-        5 5 5 4 4 4
-        4 4 4 4 3 3
-        3 3 3 2 5 5
-        5 5 5 5 5 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        5 5 5 5 5 5
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 5 5 5 5
-        5 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 2 2 5 5
-        5 5 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        5 5 5 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 5 4 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 3 2 2 2 2
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 4 4 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 1 1
-        1 1 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 3 2 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 5 5
-        5 5 5 5 5 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        5 5 5 5 5 5
-        5 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 5 5 5 5
-        5 5 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 5 5
-        5 5 5 5 4 4
-        4 4 4 4 4 3
-        3 3 3 3 2 2
-        5 5 5 5 5 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 5 5 5 5
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 2 2 5 5
-        4 4 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 2 2
-        4 4 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        2 2 4 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 4 4
-        4 4 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 1
-        4 3 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 1 1 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 2 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        3 2 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 5 5 5 5
-        5 5 5 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 5 5
-        5 5 5 5 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        5 5 5 5 5 5
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 5 5 5 5
-        5 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 2 2 5 5
-        5 5 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        5 5 5 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 5 4 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 3 2 2 2 2
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 1 4 4 4 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 3 3
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 3 3 3 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        5 5 5 5 5 5
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 5 5 5 5
-        5 5 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 5 5
-        5 5 5 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        5 5 5 5 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 5 5 5 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 2 2 5 5
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        4 4 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        2 2 4 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 4 4
-        4 4 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 1
-        4 4 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 3 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        3 3 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 0 5 5
-        5 5 5 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        5 5 5 5 5 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 5 5 5 5
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 2 2 5 5
-        5 4 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 2 2 2
-        5 5 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 2
-        2 2 4 4 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 3 2 2 2 2
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 1 4 4 4 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 3 3 3 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 5 5 5 5
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 2 2 5 5
-        5 5 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 3 2 2
-        5 5 5 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 5 5 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 2 2 2 4 4
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 2 2 2 2
-        4 4 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 3 2 2
-        2 2 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 2
-        2 2 2 2 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 1 4 4
-        4 3 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 1
-        4 3 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 3 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        3 3 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 0 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 0 0
-        5 5 5 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 2
-        2 2 5 5 4 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 2 2 5 4
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        4 4 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        2 2 4 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 4 4
-        4 4 4 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 4 4 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 3 3 3 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 0 0 5 4
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        4 4 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 2 2
-        2 2 4 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 2 2 2 2 2
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 4 4 4 4
-        4 4 4 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 4 4 4 4
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 4 4
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 1 1
-        3 3 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 2 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        3 2 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 0 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 0 0
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 0
-        0 0 4 4 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 4 4
-        4 4 4 4 4 4
-        4 3 3 3 3 3
-        3 3 2 2 2 2
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 2
-        2 2 2 2 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 4 4
-        4 4 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 1
-        4 4 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        1 1 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 3 3 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 0
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 1 0 0 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        4 4 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 4 4 4 4
-        4 4 4 4 3 3
-        3 3 3 3 3 2
-        2 2 2 2 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 4 4
-        4 4 4 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        4 4 4 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 4 4 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 3 3
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        2 2 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 1 0 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 0 0
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 1 0
-        0 0 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 4 4
-        4 4 4 4 4 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        4 4 4 4 4 4
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 4 4 4 4
-        4 4 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 4 4
-        4 4 4 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 4 4 4 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 4 3
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 1 1
-        3 3 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 3 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        3 3 3 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 0
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        0 0 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 0 0 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 1 1 0 0 0
-        0 0 4 4 4 4
-        4 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 4 4
-        4 4 4 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 4 4 4 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 4 4
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        3 3 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 1 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        1 1 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 3 3 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 0 0 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 1 0 0 0
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 1 1 0 0
-        0 0 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 1 0
-        0 0 0 0 2 2
-        2 1 1 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 0 0
-        4 4 4 4 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 4 4 4 3
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 1 4 4
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        4 3 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 1 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 3 3
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        2 2 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 1 0 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 0 0
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 0
-        0 0 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        1 0 0 0 0 0
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        0 0 2 1 1 1
-        1 1 1 1 1 1
-        1 1 1 0 0 0
-        0 0 0 0 4 3
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        3 3 3 3 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        1 1 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 2 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        3 3 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 0
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        0 0 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 0 0 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 1 0 0 0
-        0 0 2 2 2 1
-        1 1 1 1 1 1
-        1 1 1 1 0 0
-        0 0 0 0 2 1
-        1 1 1 1 1 1
-        1 1 1 1 1 0
-        0 0 0 0 0 0
-        1 1 1 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 0 0
-        0 0 3 3 3 3
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 1 1 3 3
-        3 3 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 1 1 1
-        3 3 3 3 3 3
-        3 3 3 2 2 2
-        2 2 2 2 2 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 3 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        3 3 3 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 3 2 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 0
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 0 0 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 1 0 0 0
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 1 1 0 0
-        0 0 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 1 0
-        0 0 0 0 2 2
-        2 1 1 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 0 0
-        2 1 1 1 1 1
-        1 1 1 1 1 1
-        1 0 0 0 0 0
-        0 0 1 1 1 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        0 0 0 0 1 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        0 0 0 0 0 0
-        3 3 3 3 3 3
-        3 3 2 2 2 2
-        2 2 2 2 1 1
-        1 1 3 3 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        1 1 1 1 3 3
-        3 3 3 3 3 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 3 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        3 3 3 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 3 3 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 0 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 0 0 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 1 1 0 0
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 1 0
-        0 0 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 1
-        1 0 0 0 0 0
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        0 0 1 1 1 1
-        1 1 1 1 1 1
-        1 1 1 0 0 0
-        0 0 0 0 1 1
-        1 1 1 1 1 1
-        1 1 1 1 0 0
-        0 0 0 0 0 0
-        1 1 1 1 1 1
-        1 1 1 1 0 0
-        0 0 0 0 0 0
-        0 0 1 1 1 1
-        1 1 1 1 1 0
-        0 0 0 0 0 0
-        0 0 0 0 3 3
-        3 3 3 3 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        3 3 3 3 3 3
-        2 2 2 2 2 2
-        2 2 2 1 1 1
-        1 1 3 3 3 3
-        3 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 3 3
-        3 3 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        3 3 3 2 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 3 3 2 2
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 2 2
-        2 2 2 2 2 2
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        2 2 2 2 2 2
-        2 2 2 2 2 1
-        1 1 1 1 1 1
-        1 1 2 2 2 2
-        2 2 2 2 2 2
-        1 1 1 1 1 1
-        1 1 1 0 2 2
-        2 2 2 2 2 2
-        2 1 1 1 1 1
-        1 1 1 1 0 0
-        2 2 2 2 2 2
-        2 2 1 1 1 1
-        1 1 1 1 1 0
-        0 0 2 2 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 2 2
-        2 2 2 1 1 1
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        2 2 2 2 1 1
-        1 1 1 1 1 1
-        1 1 1 0 0 0
-        0 0 2 2 1 1
-        1 1 1 1 1 1
-        1 1 1 1 0 0
-        0 0 0 0 1 1
-        1 1 1 1 1 1
-        1 1 1 1 1 0
-        0 0 0 0 0 0
-        1 1 1 1 1 1
-        1 1 1 1 1 0
-        0 0 0 0 0 0
-        0 0 1 1 1 1
-        1 1 1 1 1 1
-        0 0 0 0 0 0
-        0 0 0 0 1 1
-        1 1 1 1 1 1
-        1 0 0 0 0 0
-        0 0 0 0 0 0
-        1 1 1 1 1 1
-        1 1 0 0 0 0
-        0 0 0 0 0 0
-        0 0
-      </DataArray>
-    </CellData>
-  </Piece>
-  </ImageData>
-</VTKFile>
diff --git a/files/pv_server.py b/files/pv_server.py
deleted file mode 100644
index 01fd3585ea71c723370378b4d37609ae5333ff36..0000000000000000000000000000000000000000
--- a/files/pv_server.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# import to process args
-import os
-
-# import paraview modules.
-from paraview.web import pv_wslink
-from paraview.web import protocols as pv_protocols
-
-from paraview import simple
-from wslink import server
-
-try:
-    import argparse
-except ImportError:
-    # since  Python 2.6 and earlier don't have argparse, we simply provide
-    # the source for the same as _argparse and we use it instead.
-    from vtk.util import _argparse as argparse
-
-# =============================================================================
-# Create custom PVServerProtocol class to handle clients requests
-# =============================================================================
-
-class _DemoServer(pv_wslink.PVServerProtocol):
-    authKey = "wslink-secret"
-    def initialize(self):
-        # Bring used components
-        self.registerVtkWebProtocol(pv_protocols.ParaViewWebMouseHandler())
-        self.registerVtkWebProtocol(pv_protocols.ParaViewWebViewPort())
-        self.registerVtkWebProtocol(pv_protocols.ParaViewWebViewPortImageDelivery())
-        self.updateSecret(_DemoServer.authKey)
-
-        # Disable interactor-based render calls
-        simple.GetRenderView().EnableRenderOnInteraction = 0
-        simple.GetRenderView().Background = [0,0,0]
-        cone = simple.Cone()
-        simple.Show(cone)
-        simple.Render()
-
-        # Update interaction mode
-        pxm = simple.servermanager.ProxyManager()
-        interactionProxy = pxm.GetProxy('settings', 'RenderViewInteractionSettings')
-        interactionProxy.Camera3DManipulators = ['Rotate', 'Pan', 'Zoom', 'Pan', 'Roll', 'Pan', 'Zoom', 'Rotate', 'Zoom']
-
-# =============================================================================
-# Main: Parse args and start server
-# =============================================================================
-
-if __name__ == "__main__":
-    # Create argument parser
-    parser = argparse.ArgumentParser(description="ParaViewWeb Demo")
-
-    # Add default arguments
-    server.add_arguments(parser)
-
-    # Extract arguments
-    args = parser.parse_args()
-
-    # Start server
-    server.start_webserver(options=args, protocol=_DemoServer)
\ No newline at end of file
diff --git a/notebooks/basic_usage.ipynb b/notebooks/basic_usage.ipynb
deleted file mode 100644
index 18783348b0282cceb37d35f5777c87d199720dd8..0000000000000000000000000000000000000000
--- a/notebooks/basic_usage.ipynb
+++ /dev/null
@@ -1,396 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<img src=\"https://gitlab.version.fz-juelich.de/grosch1/pvlink_demo_for_jupytercon/-/raw/JupyterCon2020/img/logo.png\"\n",
-    "     style=\"float:right; width:25%; height:25%; margin-top:25px;\">\n",
-    "\n",
-    "# Jupyter for interactive In-Situ Visualization with ParaView/Catalyst\n",
-    "\n",
-    "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.version.fz-juelich.de%2Fgrosch1%2Fpvlink_demo_for_jupytercon/JupyterCon2020)  \n",
-    "Try out the *pvlink* extension and the example notebooks in binder."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Behind the Scenes\n",
-    "\n",
-    "To checkout how *pvlink* works and what happens behind the scenes, [click here](https://gitlab.version.fz-juelich.de/grosch1/pvlink_demo_for_jupytercon/-/blob/JupyterCon2020/BehindTheScenes.md)."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Basic Usage"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "> If you are trying this notebook out on Binder, you need to use [jupyter server proxy](#Using-jupyter-server-proxy)."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## SimpleRenderer"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Start a ParaViewWeb server on the command line, for example using the code from the [official ParaView example](https://kitware.github.io/paraviewweb/examples/RemoteRenderer.html#Using-ParaView-as-server)."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "%%script bash --bg\n",
-    "pvpython pv_server.py --port 1234 --authKey wslink-secret"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "You can then connect to the ParaViewWeb Server using a `SimpleRenderer`, passing the session URL and the authentication key."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from pvlink import SimpleRenderer\n",
-    "\n",
-    "simple = SimpleRenderer(sessionURL='ws://localhost:1234/ws', authKey='wslink-secret')\n",
-    "display(simple)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "> If you are trying this notebook out on Binder, you need to use [jupyter server proxy](#Using-jupyter-server-proxy)."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Note that in this setup, it is not possible to change the content to be rendered from within the notebook. The content is determined only at the start of the ParaViewWeb server."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## RemoteRenderer"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Most likely you *do* want to be able to make changes to the displayed source. In this case you should use the `RemoteRenderer`, which handles the ParaViewWeb server for you. You can still pass all arguments of the webserver as python arguments, in both short and long form."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from pvlink import RemoteRenderer"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "print(RemoteRenderer.webserver_arguments_help())"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "For example, `active_renderer = RemoteRenderer(port=8080)` and `active_renderer = RemoteRenderer(p=8080)` would both set the server to start on port 8080.\n",
-    "\n",
-    "You can also pass no arguments. In that case, the next free port starting from 8080 will be chosen and a random authKey will be generated for you."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Using RemoteRenderer"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "> If you are trying this notebook out on Binder, you need to use [jupyter server proxy](#Using-jupyter-server-proxy)."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "renderer = RemoteRenderer()\n",
-    "display(renderer)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "print('renderer port:\\t', renderer.port)\n",
-    "print('renderer authKey:', renderer.authKey)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "The window that appears will be blank since there are no views or sources. These can be created using ParaView's python module."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from paraview import simple\n",
-    "from pvlink.utility import SetRecommendedRenderSettings\n",
-    "\n",
-    "# Create a view and...\n",
-    "view1 = simple.CreateView('RenderView', 'view1')\n",
-    "# ...disable interactor-based render calls and\n",
-    "# ensure pvserver-side rendering (if applicable)\n",
-    "SetRecommendedRenderSettings(view1)\n",
-    "# Create and show a source\n",
-    "source1 = simple.Cone()\n",
-    "simple.Show(source1, view1)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Update the renderer widget to display the changes\n",
-    "renderer.update_render()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Multiple views"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "You can create more than one view in ParaView. Per default, a `RemoteRenderer`will show the active view."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "print(renderer.viewID) # viewID = -1 will always show active view"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Create a second view\n",
-    "view2 = simple.CreateView('RenderView', 'view2')\n",
-    "view2.Background = [0,0,0]\n",
-    "SetRecommendedRenderSettings(view2)\n",
-    "# And show a different source in it\n",
-    "source2 = simple.Sphere()\n",
-    "simple.Show(source2, view2)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "The renderer will now show the second view, since it is the currently active one."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "renderer.update_render()\n",
-    "display(renderer)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "If you want a `RemoteRenderer` to show a fixed view, regardless of which view is active, you can do so by setting its viewID."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "renderer.viewID = view2.GetGlobalIDAsString()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Changing the active view will now not change the view in the `RemoteRenderer` anymore."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "simple.SetActiveView(view1)\n",
-    "renderer.update_render()\n",
-    "display(renderer)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Using jupyter server proxy"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "`pvlink` supports the usage of [jupyter server proxy](https://github.com/jupyterhub/jupyter-server-proxy). If your notebook is not running locally and you cannot or do not want to tunnel the ParaViewWeb server to your local workstation, you should use *jupyter server proxy*.\n",
-    "\n",
-    "To do so, you need to specify the baseURL behind which your notebook is running in the baseURL initialization argument of your `RemoteRenderer`.\n",
-    "> *Example:* If your notebook is running at http://localhost:8888 and you would access a process running on port 1234 via http://localhost:8888/proxy/1234, the baseURL would be the part before \"proxy\", localhost:8888.\n",
-    "\n",
-    "If your notebook is running on HTTPS, set `useJupyterServerProxyHttps=True` to use the HTTPS certificates of the notebook server. This is necessary and keeps the connection between the client browser and the (jupyter server) proxy encrypted.\n",
-    "You also need to set `disableExternalPort=True` in order to disable port checking during the WebSocket opening handshake. Otherwise, the connection will fail with a port mismatch error as the notebook and the webserver do not run on the same port."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "For example, for a notebook running on https://jupyter-jsc.fz-juelich.de, the `RemoteRenderer` would be setup like this:\n",
-    "```proxied_renderer = RemoteRenderer(baseURL='jupyter-jsc.fz-juelich.de/user/<user>/<workspace>', \n",
-    "                                  disableExternalPort=True,\n",
-    "                                  useJupyterServerProxyHttps=True)```"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# You will most likely have to change the baseURL to the URL at which your notebook server is running\n",
-    "proxied_renderer = RemoteRenderer(baseURL='localhost:8888', \n",
-    "                                  disableExternalPort=True,\n",
-    "                                  useJupyterServerProxy=True) # useJupyterServerProxyHttps if https"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "For more information on how to use the `RemoteRenderer`, see the [RemoteRenderer section](#RemoteRenderer) of this notebook."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from paraview import simple\n",
-    "from pvlink.utility import SetRecommendedRenderSettings\n",
-    "\n",
-    "# Create a view and...\n",
-    "view3 = simple.CreateView('RenderView', 'view3')\n",
-    "# ...disable interactor-based render calls and\n",
-    "# ensure pvserver-side rendering (if applicable)\n",
-    "SetRecommendedRenderSettings(view3)\n",
-    "# Create and show a source\n",
-    "source3 = simple.Box()\n",
-    "simple.Show(source3, view3)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "proxied_renderer.viewID = view3.GetGlobalIDAsString()\n",
-    "display(proxied_renderer)"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "PyParaView-5.8",
-   "language": "python",
-   "name": "pyparaview-5.8"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.8"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
diff --git a/notebooks/catalyst.ipynb b/notebooks/catalyst.ipynb
deleted file mode 100644
index f5f09664522238c14e713e5ca04748cd1e5a274b..0000000000000000000000000000000000000000
--- a/notebooks/catalyst.ipynb
+++ /dev/null
@@ -1,383 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<img src=\"https://gitlab.version.fz-juelich.de/grosch1/pvlink_demo_for_jupytercon/-/raw/JupyterCon2020/img/logo.png\"\n",
-    "     style=\"float:right; width:25%; height:25%; margin-top:25px;\">\n",
-    "\n",
-    "# Jupyter for interactive In-Situ Visualization with ParaView/Catalyst\n",
-    "\n",
-    "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.version.fz-juelich.de%2Fgrosch1%2Fpvlink_demo_for_jupytercon/JupyterCon2020)  \n",
-    "Try out the *pvlink* extension and the example notebooks in binder."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Catalyst example"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import os\n",
-    "import ipywidgets as widgets\n",
-    "\n",
-    "from paraview import simple\n",
-    "from pvlink import RemoteRenderer\n",
-    "from pvlink.utility import SetRecommendedRenderSettings, ResetCamera"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Start a pvserver"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "%%bash --bg --proc server_process\n",
-    "export OMP_NUM_THREADS=1\n",
-    "pkill -f pvserver",
-    "pvserver --server-port=11223 > ${JUPYTER_LOG_DIR}/pvserver.log 2>&1"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Start the Catalyst enabled simulation"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "%%bash --bg --proc catalyst_process\n",
-    "export OMP_NUM_THREADS=1\n",
-    "pkill -f pvpython",
-    "cd CatalystEnabledSimulation\n",
-    "pvpython ./fedriver.py ./cpscript.py > ${JUPYTER_LOG_DIR}/simulation.log 2>&1"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Setup the RemoteRenderer"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "jupyter_url = 'jupyter-jsc.fz-juelich.de' + os.environ.get('JUPYTERHUB_SERVICE_PREFIX', '/')\n",
-    "renderer = RemoteRenderer(pvserverHost='localhost', pvserverPort = 11223, \n",
-    "                          baseURL=jupyter_url, \n",
-    "                          useJupyterServerProxyHttps=True, disableExternalPort=True)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Create a view\n",
-    "view1 = simple.FindViewOrCreate('view1', 'RenderView')\n",
-    "SetRecommendedRenderSettings(view1)\n",
-    "view1.Background = [0, 0, 0]\n",
-    "view1.ShowAnnotation = 1\n",
-    "renderer.viewID = view1.GetGlobalIDAsString()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Establish a Catalyst connection"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "> Currently, this uses a custom python library patched into ParaView to enable establishing Catayst connections with python without a GUI interface.  \n",
-    "> Starting from ParaView 5.9, a Catalyst python library capable of such a thing should be included by default."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "catalyst = simple.CatalystConnection()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# open port for catalyst connection\n",
-    "catalyst.Start()\n",
-    "catalyst.AddUpdateFunction(renderer.update_render)\n",
-    "catalyst.BlockTillConnected();"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# wait till simulation connected\n",
-    "catalyst.BlockTillConnected()\n",
-    "# extract data from simulation\n",
-    "# supplying a source name, that can be used to find the ParaView source.\n",
-    "# In case of different named input, or multiple input ports, alows to choose the desired input, that should be extracted\n",
-    "extract = catalyst.Extract('extract')\n",
-    "# block till there is an update for the simulation data\n",
-    "catalyst.BlockTillNextUpdate()\n",
-    "# display simulation data\n",
-    "simple.SetActiveSource(extract)\n",
-    "extractDisplay = simple.Show(extract, view1)\n",
-    "\n",
-    "ResetCamera(view1, renderer)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Handle data with ParaView"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# set scalar coloring\n",
-    "simple.ColorBy(extractDisplay, ('CELLS', 'pressure'))\n",
-    "\n",
-    "# rescale color and/or opacity maps used to include current data range\n",
-    "extractDisplay.RescaleTransferFunctionToDataRange(True, False)\n",
-    "\n",
-    "# show color bar/color legend\n",
-    "extractDisplay.SetScalarBarVisibility(view1, True)\n",
-    "\n",
-    "# get color transfer function/color map for 'pressure'\n",
-    "pressureLUT = simple.GetColorTransferFunction('pressure')\n",
-    "pressureLUT.RescaleTransferFunction(0.0, 1.0)\n",
-    "pressureLUT.ApplyPreset('Rainbow Desaturated', True)\n",
-    "\n",
-    "# get opacity transfer function/opacity map for 'pressure'\n",
-    "pressurePWF = simple.GetOpacityTransferFunction('pressure')\n",
-    "pressurePWF.RescaleTransferFunction(0.0, 1.0)\n",
-    "\n",
-    "# change representation type, for example wireframe or volume rendering\n",
-    "extractDisplay.SetRepresentationType('Wireframe');\n",
-    "# extractDisplay.SetRepresentationType('Volume');"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Setup interacts with ipywidgets"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "#### Set representation"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "dropdown = widgets.Dropdown(\n",
-    "    options=['Wireframe', 'Volume'],\n",
-    "#     value='Wireframe',\n",
-    "    description='Representation:',\n",
-    "    style={'description_width': '100pt'}\n",
-    ")\n",
-    "\n",
-    "def change_representation(change):\n",
-    "    if change['new'] == 'Wireframe':\n",
-    "        extractDisplay.SetRepresentationType('Wireframe')\n",
-    "    elif change['new'] == 'Volume':\n",
-    "        extractDisplay.SetRepresentationType('Volume')\n",
-    "        \n",
-    "dropdown.observe(change_representation, 'value')"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "#### Pause/unpause"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 11,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "pause_button = widgets.Button(\n",
-    "    description='Pause',\n",
-    "    button_style='warning',\n",
-    "    tooltip='Pause catalyst simulation',\n",
-    "    icon='pause',\n",
-    "    disabled=False\n",
-    ")\n",
-    "unpause_button = widgets.Button(\n",
-    "    description='Unpause',\n",
-    "    button_style='success', \n",
-    "    tooltip='Unpause catalyst simulation',\n",
-    "    icon='play',\n",
-    "    disabled=True\n",
-    ")\n",
-    "\n",
-    "def pause(button):\n",
-    "    pause_button.disabled = True\n",
-    "    unpause_button.disabled = False\n",
-    "    catalyst.SetPauseSimulation(True)\n",
-    "\n",
-    "def unpause(button):\n",
-    "    pause_button.disabled = False\n",
-    "    unpause_button.disabled = True\n",
-    "    catalyst.SetPauseSimulation(False)\n",
-    "\n",
-    "pause_button.on_click(pause)\n",
-    "unpause_button.on_click(unpause)\n",
-    "\n",
-    "buttons = widgets.HBox([unpause_button, pause_button])"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "#### Show timestep"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from threading import Thread\n",
-    "from time import sleep\n",
-    "\n",
-    "timestep = widgets.Label(\n",
-    "    value=\"timestep: 0\"\n",
-    ")\n",
-    "\n",
-    "def show_timestep(widget):\n",
-    "    while True:\n",
-    "        step = catalyst.GetTimeStep()\n",
-    "        widget.value = \"timestep: {}\".format(step)\n",
-    "        sleep(0.5)\n",
-    "    \n",
-    "thread = Thread(target=show_timestep, args=(timestep,))\n",
-    "thread.start()"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Display widgets and renderer"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "widget_layout = widgets.HBox(children=[dropdown, buttons, timestep],\n",
-    "                             layout={'margin': '4px', 'justify_content': 'space-between'})\n",
-    "renderer.layout.height = '100%'"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "26cddb46ff914ff7ac23810181efc442",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "VBox(children=(HBox(children=(Dropdown(description='Representation:', options=('Wireframe', 'Volume'), style=D…"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "widgets.VBox(children=[widget_layout, renderer], layout={'height': '800px'}) "
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "PyParaView-5.8",
-   "language": "python",
-   "name": "pyparaview-5.8"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.8"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
diff --git a/notebooks/custom_protocol.ipynb b/notebooks/custom_protocol.ipynb
deleted file mode 100644
index 74bd68053868530c93059113ee944c2f30c43798..0000000000000000000000000000000000000000
--- a/notebooks/custom_protocol.ipynb
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<img src=\"https://gitlab.version.fz-juelich.de/grosch1/pvlink_demo_for_jupytercon/-/raw/JupyterCon2020/img/logo.png\"\n",
-    "     style=\"float:right; width:25%; height:25%; margin-top:25px;\">\n",
-    "\n",
-    "# Jupyter for interactive In-Situ Visualization with ParaView/Catalyst\n",
-    "\n",
-    "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.version.fz-juelich.de%2Fgrosch1%2Fpvlink_demo_for_jupytercon/JupyterCon2020)  \n",
-    "Try out the *pvlink* extension and the example notebooks in binder."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Using custom protocols"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "You can define your own pipeline which should be run on server start. It will then automically run when the  ParaViewWeb server starts up.  \n",
-    "This is equivalent to defining a pipeline in an external pv_server.py file (see the [SimpleRenderer](basic_usage.ipynb#SimpleRenderer))."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "To define your custom pipeline, first you need define a class which inherits from `pv_wslink.PVServerProtocol` and add your pipeline there. Per default, the `RemoteRenderer` shows the active view. To ensure that the view you created in the pipeline is the one shown in the rendering widget and does not get replaced by a new active view, we need to make it available to the outside and later on bind the viewID to the rendering widget."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from paraview import simple\n",
-    "from paraview.web import pv_wslink\n",
-    "from paraview.web import protocols as pv_protocols\n",
-    "\n",
-    "from pvlink.utility import SetRecommendedRenderSettings\n",
-    "\n",
-    "\n",
-    "class CustomServer(pv_wslink.PVServerProtocol):\n",
-    "    authKey = 'wslink-secret'\n",
-    "\n",
-    "    def initialize(self):\n",
-    "        # Bring used components\n",
-    "        self.registerVtkWebProtocol(pv_protocols.ParaViewWebMouseHandler())\n",
-    "        self.registerVtkWebProtocol(pv_protocols.ParaViewWebViewPort())\n",
-    "        self.registerVtkWebProtocol(pv_protocols.ParaViewWebViewPortImageDelivery())\n",
-    "        # Update authentication key to use\n",
-    "        self.updateSecret(CustomServer.authKey)\n",
-    "\n",
-    "        # Your pipeline\n",
-    "        custom_view = simple.CreateView('RenderView', 'SphereView')\n",
-    "        SetRecommendedRenderSettings(custom_view)\n",
-    "        custom_viewID = custom_view.GetGlobalIDAsString()\n",
-    "        # Make the viewID available so we can bind our widget to the correct view\n",
-    "        self.setSharedObject('viewID', custom_viewID)\n",
-    "        sphere = simple.Sphere()\n",
-    "        simple.Show(sphere, custom_view)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from pvlink import RemoteRenderer\n",
-    "\n",
-    "custom_renderer = RemoteRenderer(protocol=CustomServer, a='mysecretkey')\n",
-    "# Bind the viewID to the widget to avoid it showing a different view\n",
-    "# when a different view is set to the active view\n",
-    "custom_renderer.viewID = custom_renderer.protocol.getSharedObject('viewID')\n",
-    "display(custom_renderer)"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Python 3",
-   "language": "python",
-   "name": "python3"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.8"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
diff --git a/notebooks/large_dataset.ipynb b/notebooks/large_dataset.ipynb
deleted file mode 100644
index 247948214323dd75838f6dc4588b7c61cae24402..0000000000000000000000000000000000000000
--- a/notebooks/large_dataset.ipynb
+++ /dev/null
@@ -1,577 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<img src=\"https://gitlab.version.fz-juelich.de/grosch1/pvlink_demo_for_jupytercon/-/raw/JupyterCon2020/img/logo.png\"\n",
-    "     style=\"float:right; width:25%; height:25%; margin-top:25px;\">\n",
-    "\n",
-    "# Jupyter for interactive In-Situ Visualization with ParaView/Catalyst\n",
-    "\n",
-    "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.version.fz-juelich.de%2Fgrosch1%2Fpvlink_demo_for_jupytercon/JupyterCon2020)  \n",
-    "Try out the *pvlink* extension and the example notebooks in binder."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Large dataset with a parallel `pvserver`"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "Start a parallel ParaView server on the command line, for example via `$ mpirun -np <numberOfProc> ./pvserver`.\n",
-    "\n",
-    "In this example, 64 compute nodes were used for a dataset of approximatly 1.2TB.\n"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import ipywidgets as widgets\n",
-    "import os\n",
-    "import pvlink\n",
-    "\n",
-    "from paraview.simple import *"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Setup pvlink renderer\n",
-    "We are using *jupyter server proxy* to access our ParaViewWeb server since it is running on the HPC system."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 2,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "renderer = pvlink.RemoteRenderer(\n",
-    "    baseURL='jupyter-jsc.fz-juelich.de'+os.environ['JUPYTERHUB_SERVICE_PREFIX'], \n",
-    "    disableExternalPort=True, useJupyterServerProxyHttps=True,\n",
-    "    pvserverHost=\"localhost\", pvserverPort=11111,\n",
-    "    timeout=\"0\"\n",
-    ")"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Setup paraview pipeline"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Setup RenderView"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "renderView = CreateView('RenderView', 'view')\n",
-    "pvlink.utility.SetRecommendedRenderSettings(renderView)\n",
-    "\n",
-    "renderView.Background = [0, 0, 0]\n",
-    "renderView.OrientationAxesVisibility = 0\n",
-    "renderView.ShowAnnotation = 1"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Read .xmf file"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "box2xmf = XDMFReader(FileNames=['./visu/box2c.xmf'])\n",
-    "box2xmf.GridStatus = ['Structured Grid']\n",
-    "box2xmf.UpdatePipeline()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 5,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# box2xmfDisplay = Show(box2xmf, renderView)\n",
-    "# box2xmfDisplay.SetRepresentationType('Volume')"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 6,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Hide(box2xmf, renderView)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Apply filters"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 7,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "contour = Contour(Input=box2xmf)\n",
-    "contour.Isosurfaces = [0.3]"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 8,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "contourDisplay = Show(contour, renderView, 'GeometryRepresentation')\n",
-    "contourDisplay.SetRepresentationType('Surface')\n",
-    "contourDisplay.RescaleTransferFunctionToDataRange(True, False)\n",
-    "contourDisplay.SetScalarBarVisibility(renderView, True);"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 9,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "ColorBy(contourDisplay, ('POINTS', 'PS'))\n",
-    "psLUT = GetColorTransferFunction('PS')\n",
-    "psLUT.ApplyPreset('Blue Orange (divergent)', True);"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "### Reset camera and focal point and display renderer"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 10,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "pvlink.utility.ResetCamera(renderView, renderer)\n",
-    "renderer.update_render()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 16,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "9b848c6e88764ef3b4ee04b406a3e7a1",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "Box(children=(RemoteRenderer(authKey='1da0ea24ad20daada608fc5de87325fb709b07fb8816cb7e', sessionURL='wss://jup…"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "renderContainer = widgets.Box(children=[renderer], layout={'height': '800px'})\n",
-    "display(renderContainer)"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Print memory usage information"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 12,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "dataInfo = box2xmf.GetDataInformation()\n",
-    "\n",
-    "memory_size = dataInfo.DataInformation.GetMemorySize()\n",
-    "number_points = dataInfo.DataInformation.GetNumberOfPoints()\n",
-    "number_cells = dataInfo.DataInformation.GetNumberOfCells()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 13,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "from paraview import benchmark\n",
-    "memuse = benchmark.logbase.get_memuse()"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 14,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "Number of points:\t 77976270099\n",
-      "Number of cells:\t 77629109375\n",
-      "Memory size:\t\t 1218379428\n"
-     ]
-    }
-   ],
-   "source": [
-    "print(\"Number of points:\\t\", number_points)\n",
-    "print(\"Number of cells:\\t\", number_cells)\n",
-    "print(\"Memory size:\\t\\t\", memory_size)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 15,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "CL[0] 252244 / 52058712\n",
-      "DS_RS[0] 9798604 / 52058712\n",
-      "DS_RS[1] 9676520 / 52058712\n",
-      "DS_RS[2] 9675744 / 52058712\n",
-      "DS_RS[3] 9698376 / 52058712\n",
-      "DS_RS[4] 9674232 / 51420436\n",
-      "DS_RS[5] 9698396 / 51420436\n",
-      "DS_RS[6] 9698368 / 51420420\n",
-      "DS_RS[7] 9720144 / 51420420\n",
-      "DS_RS[8] 9677052 / 49780008\n",
-      "DS_RS[9] 9698408 / 49780008\n",
-      "DS_RS[10] 9698244 / 49780008\n",
-      "DS_RS[11] 9720116 / 49780008\n",
-      "DS_RS[12] 9677580 / 52932288\n",
-      "DS_RS[13] 9698372 / 52932288\n",
-      "DS_RS[14] 10184256 / 52932288\n",
-      "DS_RS[15] 9720208 / 52932288\n",
-      "DS_RS[16] 9675208 / 51310944\n",
-      "DS_RS[17] 9698412 / 51310944\n",
-      "DS_RS[18] 9698252 / 51310944\n",
-      "DS_RS[19] 9720132 / 51310944\n",
-      "DS_RS[20] 9676176 / 50058232\n",
-      "DS_RS[21] 9698400 / 50058232\n",
-      "DS_RS[22] 9698252 / 50058232\n",
-      "DS_RS[23] 9720176 / 50058232\n",
-      "DS_RS[24] 9698896 / 51642404\n",
-      "DS_RS[25] 9719724 / 51642404\n",
-      "DS_RS[26] 9694356 / 51642404\n",
-      "DS_RS[27] 9717364 / 51642404\n",
-      "DS_RS[28] 9696288 / 49589292\n",
-      "DS_RS[29] 9717012 / 49589292\n",
-      "DS_RS[30] 9698384 / 49589292\n",
-      "DS_RS[31] 9720068 / 49589292\n",
-      "DS_RS[32] 9674236 / 51590984\n",
-      "DS_RS[33] 9697320 / 51590984\n",
-      "DS_RS[34] 9695640 / 51590984\n",
-      "DS_RS[35] 9720200 / 51590984\n",
-      "DS_RS[36] 9669292 / 51414880\n",
-      "DS_RS[37] 9690744 / 51414880\n",
-      "DS_RS[38] 9690856 / 51414880\n",
-      "DS_RS[39] 9712580 / 51414880\n",
-      "DS_RS[40] 9698872 / 51644772\n",
-      "DS_RS[41] 9721652 / 51644772\n",
-      "DS_RS[42] 9698368 / 51644772\n",
-      "DS_RS[43] 9720204 / 51644772\n",
-      "DS_RS[44] 9691768 / 51275920\n",
-      "DS_RS[45] 9712468 / 51275920\n",
-      "DS_RS[46] 9691184 / 51275920\n",
-      "DS_RS[47] 9713080 / 51275920\n",
-      "DS_RS[48] 9698792 / 49737408\n",
-      "DS_RS[49] 9719596 / 49737408\n",
-      "DS_RS[50] 9695728 / 49737408\n",
-      "DS_RS[51] 9720204 / 49737408\n",
-      "DS_RS[52] 9691736 / 49641216\n",
-      "DS_RS[53] 9709584 / 49641216\n",
-      "DS_RS[54] 9690940 / 49641216\n",
-      "DS_RS[55] 9713032 / 49641216\n",
-      "DS_RS[56] 9717404 / 49663596\n",
-      "DS_RS[57] 9719620 / 49663596\n",
-      "DS_RS[58] 9719616 / 49663596\n",
-      "DS_RS[59] 9720208 / 49663596\n",
-      "DS_RS[60] 9713104 / 51323968\n",
-      "DS_RS[61] 9712532 / 51323968\n",
-      "DS_RS[62] 9712552 / 51323968\n",
-      "DS_RS[63] 9712944 / 51323968\n",
-      "DS_RS[64] 9672880 / 51159524\n",
-      "DS_RS[65] 9698396 / 51159524\n",
-      "DS_RS[66] 9698324 / 51159524\n",
-      "DS_RS[67] 9720192 / 51159524\n",
-      "DS_RS[68] 9677648 / 51810388\n",
-      "DS_RS[69] 9698304 / 51810388\n",
-      "DS_RS[70] 9698244 / 51810388\n",
-      "DS_RS[71] 9720100 / 51810388\n",
-      "DS_RS[72] 9698928 / 51732124\n",
-      "DS_RS[73] 9719588 / 51732124\n",
-      "DS_RS[74] 9698388 / 51732124\n",
-      "DS_RS[75] 9720108 / 51732124\n",
-      "DS_RS[76] 9698844 / 51468060\n",
-      "DS_RS[77] 9716976 / 51468060\n",
-      "DS_RS[78] 9698264 / 51468060\n",
-      "DS_RS[79] 9720196 / 51468060\n",
-      "DS_RS[80] 9698884 / 51033504\n",
-      "DS_RS[81] 9719728 / 51033504\n",
-      "DS_RS[82] 9698376 / 51033504\n",
-      "DS_RS[83] 9720200 / 51033504\n",
-      "DS_RS[84] 9691768 / 51860072\n",
-      "DS_RS[85] 9710932 / 51860072\n",
-      "DS_RS[86] 9689360 / 51860072\n",
-      "DS_RS[87] 9713036 / 51860072\n",
-      "DS_RS[88] 9720236 / 51843416\n",
-      "DS_RS[89] 9719720 / 51843416\n",
-      "DS_RS[90] 9719712 / 51843416\n",
-      "DS_RS[91] 9720080 / 51843416\n",
-      "DS_RS[92] 9713016 / 48787168\n",
-      "DS_RS[93] 9710848 / 48787168\n",
-      "DS_RS[94] 9712500 / 48787168\n",
-      "DS_RS[95] 9713080 / 48787168\n",
-      "DS_RS[96] 9677500 / 48855676\n",
-      "DS_RS[97] 9698372 / 48855676\n",
-      "DS_RS[98] 9698340 / 48855676\n",
-      "DS_RS[99] 9718912 / 48855676\n",
-      "DS_RS[100] 9670576 / 49831920\n",
-      "DS_RS[101] 9691232 / 49831920\n",
-      "DS_RS[102] 9689340 / 49831920\n",
-      "DS_RS[103] 9713028 / 49831920\n",
-      "DS_RS[104] 9698844 / 49828244\n",
-      "DS_RS[105] 9719536 / 49828244\n",
-      "DS_RS[106] 9691128 / 49828244\n",
-      "DS_RS[107] 9711152 / 49828244\n",
-      "DS_RS[108] 9698784 / 51216260\n",
-      "DS_RS[109] 9719548 / 51216260\n",
-      "DS_RS[110] 9691236 / 51216260\n",
-      "DS_RS[111] 9712912 / 51216260\n",
-      "DS_RS[112] 9698804 / 51298720\n",
-      "DS_RS[113] 9719716 / 51298720\n",
-      "DS_RS[114] 9691280 / 51298720\n",
-      "DS_RS[115] 9713080 / 51298720\n",
-      "DS_RS[116] 9691680 / 48907260\n",
-      "DS_RS[117] 9708536 / 48907260\n",
-      "DS_RS[118] 9684196 / 48907260\n",
-      "DS_RS[119] 9704272 / 48907260\n",
-      "DS_RS[120] 9718600 / 49117340\n",
-      "DS_RS[121] 9711960 / 49117340\n",
-      "DS_RS[122] 9719612 / 49117340\n",
-      "DS_RS[123] 9713084 / 49117340\n",
-      "DS_RS[124] 9713076 / 48831116\n",
-      "DS_RS[125] 9705408 / 48831116\n",
-      "DS_RS[126] 9712460 / 48831116\n",
-      "DS_RS[127] 9705860 / 48831116\n",
-      "DS_RS[128] 9676884 / 50678972\n",
-      "DS_RS[129] 9698224 / 50678972\n",
-      "DS_RS[130] 9698328 / 50678972\n",
-      "DS_RS[131] 9720160 / 50678972\n",
-      "DS_RS[132] 9677420 / 51381432\n",
-      "DS_RS[133] 9698264 / 51381432\n",
-      "DS_RS[134] 9698276 / 51381432\n",
-      "DS_RS[135] 9720020 / 51381432\n",
-      "DS_RS[136] 9698736 / 51225928\n",
-      "DS_RS[137] 9719544 / 51225928\n",
-      "DS_RS[138] 9698232 / 51225928\n",
-      "DS_RS[139] 9720144 / 51225928\n",
-      "DS_RS[140] 9698872 / 51284324\n",
-      "DS_RS[141] 9719628 / 51284324\n",
-      "DS_RS[142] 9698204 / 51284324\n",
-      "DS_RS[143] 9720152 / 51284324\n",
-      "DS_RS[144] 9698776 / 50828104\n",
-      "DS_RS[145] 9719588 / 50828104\n",
-      "DS_RS[146] 9698244 / 50828104\n",
-      "DS_RS[147] 9720100 / 50828104\n",
-      "DS_RS[148] 9691396 / 49845004\n",
-      "DS_RS[149] 9712592 / 49845004\n",
-      "DS_RS[150] 9689492 / 49845004\n",
-      "DS_RS[151] 9712968 / 49845004\n",
-      "DS_RS[152] 9720144 / 51092756\n",
-      "DS_RS[153] 9719624 / 51092756\n",
-      "DS_RS[154] 9719644 / 51092756\n",
-      "DS_RS[155] 9718448 / 51092756\n",
-      "DS_RS[156] 9713048 / 51037760\n",
-      "DS_RS[157] 9712272 / 51037760\n",
-      "DS_RS[158] 9712520 / 51037760\n",
-      "DS_RS[159] 9713080 / 51037760\n",
-      "DS_RS[160] 9677612 / 51089532\n",
-      "DS_RS[161] 9698364 / 51089532\n",
-      "DS_RS[162] 9695624 / 51089532\n",
-      "DS_RS[163] 9720140 / 51089532\n",
-      "DS_RS[164] 9670500 / 48790088\n",
-      "DS_RS[165] 9691208 / 48790088\n",
-      "DS_RS[166] 9691220 / 48790088\n",
-      "DS_RS[167] 9713116 / 48790088\n",
-      "DS_RS[168] 9698808 / 48594688\n",
-      "DS_RS[169] 9716916 / 48594688\n",
-      "DS_RS[170] 9698248 / 48594688\n",
-      "DS_RS[171] 9720060 / 48594688\n",
-      "DS_RS[172] 9691672 / 50636688\n",
-      "DS_RS[173] 9709812 / 50636688\n",
-      "DS_RS[174] 9691236 / 50636688\n",
-      "DS_RS[175] 9713044 / 50636688\n",
-      "DS_RS[176] 9698924 / 50641724\n",
-      "DS_RS[177] 9719672 / 50641724\n",
-      "DS_RS[178] 9691148 / 50641724\n",
-      "DS_RS[179] 9713084 / 50641724\n",
-      "DS_RS[180] 9691624 / 50718188\n",
-      "DS_RS[181] 9712604 / 50718188\n",
-      "DS_RS[182] 9683772 / 50718188\n",
-      "DS_RS[183] 9705944 / 50718188\n",
-      "DS_RS[184] 9717532 / 50789876\n",
-      "DS_RS[185] 9719616 / 50789876\n",
-      "DS_RS[186] 9710864 / 50789876\n",
-      "DS_RS[187] 9713076 / 50789876\n",
-      "DS_RS[188] 9713056 / 51567720\n",
-      "DS_RS[189] 9712428 / 51567720\n",
-      "DS_RS[190] 9705416 / 51567720\n",
-      "DS_RS[191] 9705932 / 51567720\n",
-      "DS_RS[192] 9696144 / 50879132\n",
-      "DS_RS[193] 9719580 / 50879132\n",
-      "DS_RS[194] 9698316 / 50879132\n",
-      "DS_RS[195] 9720188 / 50879132\n",
-      "DS_RS[196] 9698836 / 50921564\n",
-      "DS_RS[197] 9719644 / 50921564\n",
-      "DS_RS[198] 9698328 / 50921564\n",
-      "DS_RS[199] 9720088 / 50921564\n",
-      "DS_RS[200] 9720240 / 51132636\n",
-      "DS_RS[201] 9718224 / 51132636\n",
-      "DS_RS[202] 9718364 / 51132636\n",
-      "DS_RS[203] 9720080 / 51132636\n",
-      "DS_RS[204] 9713048 / 51120284\n",
-      "DS_RS[205] 9712084 / 51120284\n",
-      "DS_RS[206] 9712548 / 51120284\n",
-      "DS_RS[207] 9711052 / 51120284\n",
-      "DS_RS[208] 9694848 / 51034020\n",
-      "DS_RS[209] 9716972 / 51034020\n",
-      "DS_RS[210] 9691272 / 51034020\n",
-      "DS_RS[211] 9712964 / 51034020\n",
-      "DS_RS[212] 9698800 / 50889524\n",
-      "DS_RS[213] 9719720 / 50889524\n",
-      "DS_RS[214] 9688496 / 50889524\n",
-      "DS_RS[215] 9713064 / 50889524\n",
-      "DS_RS[216] 9720192 / 50753808\n",
-      "DS_RS[217] 9712608 / 50753808\n",
-      "DS_RS[218] 9716992 / 50753808\n",
-      "DS_RS[219] 9713068 / 50753808\n",
-      "DS_RS[220] 9710132 / 50826220\n",
-      "DS_RS[221] 9705480 / 50826220\n",
-      "DS_RS[222] 9712432 / 50826220\n",
-      "DS_RS[223] 9705868 / 50826220\n",
-      "DS_RS[224] 9698164 / 50808660\n",
-      "DS_RS[225] 9718752 / 50808660\n",
-      "DS_RS[226] 9698192 / 50808660\n",
-      "DS_RS[227] 9718376 / 50808660\n",
-      "DS_RS[228] 9691588 / 51107600\n",
-      "DS_RS[229] 9712548 / 51107600\n",
-      "DS_RS[230] 9691088 / 51107600\n",
-      "DS_RS[231] 9713036 / 51107600\n",
-      "DS_RS[232] 9720056 / 50889936\n",
-      "DS_RS[233] 9718840 / 50889936\n",
-      "DS_RS[234] 9712396 / 50889936\n",
-      "DS_RS[235] 9713032 / 50889936\n",
-      "DS_RS[236] 9713040 / 50851668\n",
-      "DS_RS[237] 9712536 / 50851668\n",
-      "DS_RS[238] 9705040 / 50851668\n",
-      "DS_RS[239] 9703748 / 50851668\n",
-      "DS_RS[240] 9698196 / 50812000\n",
-      "DS_RS[241] 9719600 / 50812000\n",
-      "DS_RS[242] 9691052 / 50812000\n",
-      "DS_RS[243] 9712932 / 50812000\n",
-      "DS_RS[244] 9691684 / 50970684\n",
-      "DS_RS[245] 9712556 / 50970684\n",
-      "DS_RS[246] 9684000 / 50970684\n",
-      "DS_RS[247] 9705808 / 50970684\n",
-      "DS_RS[248] 9716764 / 51058112\n",
-      "DS_RS[249] 9710644 / 51058112\n",
-      "DS_RS[250] 9712504 / 51058112\n",
-      "DS_RS[251] 9705808 / 51058112\n",
-      "DS_RS[252] 9712396 / 51180408\n",
-      "DS_RS[253] 9705380 / 51180408\n",
-      "DS_RS[254] 9704824 / 51180408\n",
-      "DS_RS[255] 9695424 / 51180408\n"
-     ]
-    }
-   ],
-   "source": [
-    "for use in memuse:\n",
-    "    print(use)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Disconnect()"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "PyParaView-5.8",
-   "language": "python",
-   "name": "pyparaview-5.8"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.8"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}
diff --git a/notebooks/minimal_example.ipynb b/notebooks/minimal_example.ipynb
deleted file mode 100644
index af52b6628ac646a08289ae3b8cfc84647b12cdcf..0000000000000000000000000000000000000000
--- a/notebooks/minimal_example.ipynb
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<img src=\"https://gitlab.version.fz-juelich.de/grosch1/pvlink_demo_for_jupytercon/-/raw/JupyterCon2020/img/logo.png\"\n",
-    "     style=\"float:right; width:25%; height:25%; margin-top:25px;\">\n",
-    "\n",
-    "# Jupyter for interactive In-Situ Visualization with ParaView/Catalyst\n",
-    "\n",
-    "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgitlab.version.fz-juelich.de%2Fgrosch1%2Fpvlink_demo_for_jupytercon/JupyterCon2020)  \n",
-    "Try out the *pvlink* extension and the example notebooks in binder."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "# Minimal example"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 1,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "import pvlink\n",
-    "from paraview.simple import *\n",
-    "from pvlink.utility import SetRecommendedRenderSettings, ResetCamera"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 4,
-   "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "41063a5b5274476cb4ef2bfc580c5cd5",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "RemoteRenderer(authKey='afd24933b4abc600d381b4a99e07b7edfd1b5ab55731cef5', sessionURL='wss://jupyter-jsc.fz-ju…"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# Create a RemoteRenderer to capture a ParaView RenderView\n",
-    "renderer1 = pvlink.RemoteRenderer()\n",
-    "\n",
-    "# Paraview Pipeline\n",
-    "# Create a RenderView\n",
-    "renderView1 = CreateView('RenderView', 'view1')\n",
-    "renderView1.Background = [0,0,0]\n",
-    "SetRecommendedRenderSettings(renderView1)\n",
-    "\n",
-    "# Load and display data\n",
-    "waveletElevation = XMLImageDataReader(FileName=['./data/waveletElevation.vti'])\n",
-    "waveletElevationDisplay = Show(waveletElevation, renderView1)\n",
-    "waveletElevationDisplay.SetRepresentationType('Volume')\n",
-    "\n",
-    "# Edit data display\n",
-    "ColorBy(waveletElevationDisplay, ('POINTS', 'RDataWithElevation', 'Y'))\n",
-    "rDataWithElevationLUT = GetColorTransferFunction('RDataWithElevation')\n",
-    "rDataWithElevationLUT.ApplyPreset('Cool to Warm (Extended)', True)\n",
-    "\n",
-    "# Set pvlink renderer to show renderView1\n",
-    "renderer1.viewID = renderView1.GetGlobalIDAsString()\n",
-    "ResetCamera(renderView1, renderer1)\n",
-    "display(renderer1)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 3,
-   "metadata": {
-    "scrolled": true
-   },
-   "outputs": [
-    {
-     "data": {
-      "application/vnd.jupyter.widget-view+json": {
-       "model_id": "b2dd3f1af11746389fbfd728c020989d",
-       "version_major": 2,
-       "version_minor": 0
-      },
-      "text/plain": [
-       "RemoteRenderer(authKey='wslink-secret', sessionURL='ws://localhost:1234/ws', viewID='577')"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    }
-   ],
-   "source": [
-    "# Create a second RemoteRenderer to capture a second ParaView RenderView\n",
-    "renderer2 = pvlink.RemoteRenderer(port=1234, authKey='wslink-secret')\n",
-    "\n",
-    "# Paraview Pipeline\n",
-    "# Create a second RenderView\n",
-    "renderView2 = CreateView('RenderView', 'view2')\n",
-    "renderView2.Background = [0,0,0]\n",
-    "renderView2.ShowAnnotation = 1\n",
-    "SetRecommendedRenderSettings(renderView2)\n",
-    "\n",
-    "# Load and display data\n",
-    "waveletMaterial = XMLImageDataReader(FileName=['./data/waveletMaterial.vti'])\n",
-    "waveletMaterialDisplay = Show(waveletMaterial, renderView2)\n",
-    "waveletMaterialDisplay.SetRepresentationType('Volume')\n",
-    "\n",
-    "# Edit data display\n",
-    "materialLUT = GetColorTransferFunction('Material')\n",
-    "materialLUT.ApplyPreset('Cool to Warm (Extended)', True)\n",
-    "\n",
-    "# Set secon dpvlink renderer to show renderView2\n",
-    "renderer2.viewID = renderView2.GetGlobalIDAsString()\n",
-    "ResetCamera(renderView2, renderer2)\n",
-    "display(renderer2)"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "PyParaView-5.8",
-   "language": "python",
-   "name": "pyparaview-5.8"
-  },
-  "language_info": {
-   "codemirror_mode": {
-    "name": "ipython",
-    "version": 3
-   },
-   "file_extension": ".py",
-   "mimetype": "text/x-python",
-   "name": "python",
-   "nbconvert_exporter": "python",
-   "pygments_lexer": "ipython3",
-   "version": "3.6.8"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 4
-}