diff --git a/src/amdis/CMakeLists.txt b/src/amdis/CMakeLists.txt
index 261e70afb1eef1d35fafe0711383ee9a23d00686..1237bbc906cd4a0c5806d782675d552daeb8afd2 100644
--- a/src/amdis/CMakeLists.txt
+++ b/src/amdis/CMakeLists.txt
@@ -71,7 +71,6 @@ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis)
 add_subdirectory("common")
 add_subdirectory("functions")
 add_subdirectory("gridfunctions")
-add_subdirectory("io")
 add_subdirectory("linearalgebra")
 add_subdirectory("localoperators")
 add_subdirectory("operations")
diff --git a/src/amdis/io/CMakeLists.txt b/src/amdis/io/CMakeLists.txt
deleted file mode 100644
index 09203370907abcd7c9fccb825b7d1ec644362816..0000000000000000000000000000000000000000
--- a/src/amdis/io/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-install(FILES
-    VtkSequenceWriter.hpp
-DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/amdis/io)
diff --git a/src/amdis/io/VtkSequenceWriter.hpp b/src/amdis/io/VtkSequenceWriter.hpp
deleted file mode 100644
index 32a91e1e39beb791271ae958b306c49e692f0c8c..0000000000000000000000000000000000000000
--- a/src/amdis/io/VtkSequenceWriter.hpp
+++ /dev/null
@@ -1,137 +0,0 @@
-#pragma once
-
-#include <vector>
-#include <iostream>
-#include <sstream>
-#include <fstream>
-#include <iomanip>
-#include <memory>
-
-#include <dune/grid/io/file/vtk/common.hh>
-#include <dune/common/path.hh>
-
-#include <dune/grid/io/file/vtk/vtkwriter.hh>
-
-namespace AMDiS
-{
-  /// \brief class to write pvd-files which contains a list of all collected vtk-files
-  /**
-   * Write pvd-file suitable for easy visualization with
-   * <a href="http://www.vtk.org/">The Visualization Toolkit (VTK)</a>.
-   *
-   * \tparam GridView Grid view of the grid we are writing
-   */
-  template <class GridView>
-  class VTKSequenceWriter
-  {
-    using VTKWriter = Dune::VTKWriter<GridView>;
-
-  public:
-    /// \brief Set up the VTKSequenceWriter class
-    /**
-     * \param vtkWriter Writer object used to write the individual time step data files
-     */
-    VTKSequenceWriter(std::shared_ptr<VTKWriter> vtkWriter)
-      : vtkWriter_(std::move(vtkWriter))
-    {}
-
-    /// \brief Set up the VTKSequenceWriter class by creating a timestep writer of type \ref VTKWriter
-    /**
-     * \param gridView  GridView object passed to the constructor of the VTKWriter
-     * \param args...   Additional arguments forwarded to the VTKWriter constructor.
-     */
-    template <class... Args>
-    VTKSequenceWriter(GridView const& gridView, Args&&... args)
-      : VTKSequenceWriter<GridView>(std::make_shared<VTKWriter>(gridView, FWD(args)...))
-    {}
-
-
-    /// accessor for the underlying VTKWriter instance
-    std::shared_ptr<VTKWriter> const& vtkWriter() const
-    {
-      return vtkWriter_;
-    }
-
-    /// \brief Adds a field of cell data to the VTK file
-    template <class... Args>
-    void addCellData(Args&&... args)
-    {
-      vtkWriter_->addCellData(FWD(args)...);
-    }
-
-    /// \brief Adds a field of vertex data to the VTK file
-    template <class... Args>
-    void addVertexData (Args&&... args)
-    {
-      vtkWriter_->addVertexData(FWD(args)...);
-    }
-
-    /// \brief Writes VTK data for the given time,
-    /**
-     * \param time The time(step) for the data to be written.
-     * \param name The basename of the .pvd file (without file extension)
-     * \param type VTK output type.
-     */
-    virtual void write(double time, std::string const& name, Dune::VTK::OutputType type = Dune::VTK::ascii)
-    {
-      pwrite(time, name, ".", "", type);
-    }
-
-    /// \brief Writes VTK data for the given time,
-    /**
-     * \param time The time(step) for the data to be written.
-     * \param name The basename of the .pvd file (without file extension)
-     * \param path The directory where to put the .pvd file
-     * \param extendpath The (relative) subdirectory to path, where to put the timestep files
-     * \param type VTK output type.
-     */
-    virtual void pwrite(double time, std::string const& name, std::string const& path, std::string const& extendpath,
-                        Dune::VTK::OutputType type = Dune::VTK::ascii)
-    {
-      // remember current time step
-      unsigned int count = timesteps_.size();
-      timesteps_.push_back(time);
-
-      // write VTK file
-      vtkWriter_->pwrite(seqName(name, count), concatPaths(path, extendpath), "", type);
-
-      // write pvd file ... only on rank 0
-      if (Environment::mpiRank() == 0) {
-        std::ofstream pvdFile;
-        pvdFile.exceptions(std::ios_base::badbit | std::ios_base::failbit |
-                           std::ios_base::eofbit);
-        std::string pvdname = path + "/" + name + ".pvd";
-        pvdFile.open(pvdname.c_str());
-        pvdFile << "<?xml version=\"1.0\"?> \n"
-                << "<VTKFile type=\"Collection\" version=\"0.1\" byte_order=\"" << VTK::getEndiannessString() << "\"> \n"
-                << "<Collection> \n";
-        for (unsigned int i = 0; i <= count; ++i) {
-          std::string piecepath = concatPaths(path, extendpath);
-          std::string fullname = vtkWriter_->getParallelHeaderName(seqName(name,i), piecepath, Environment::mpiSize());
-          pvdFile << "<DataSet timestep=\"" << timesteps_[i]
-                  << "\" group=\"\" part=\"0\" name=\"\" file=\""
-                  << fullname << "\"/> \n";
-        }
-        pvdFile << "</Collection> \n"
-                << "</VTKFile> \n" << std::flush;
-        pvdFile.close();
-      }
-    }
-
-  private:
-    // create sequence name
-    std::string seqName(std::string const& name, unsigned int count) const
-    {
-      std::stringstream n;
-      n.fill('0');
-      n << name << "-" << std::setw(5) << count;
-      return n.str();
-    }
-
-  private:
-    std::shared_ptr<VTKWriter> vtkWriter_;
-    std::vector<double> timesteps_;
-  };
-
-} // end namespace AMDiS
-