diff --git a/Device/Histo/IntensityDataIOFactory.cpp b/Device/Histo/IntensityDataIOFactory.cpp
index 24a7012eb0312f708a4354872a9df73d654512b8..ab5b299a5d1ad84315c7147587e829e31940318d 100644
--- a/Device/Histo/IntensityDataIOFactory.cpp
+++ b/Device/Histo/IntensityDataIOFactory.cpp
@@ -48,7 +48,7 @@ OutputData<double>* IntensityDataIOFactory::readOutputData(const std::string& fi
 
     if (readAs(bornagain))
         ret = readOutputData(
-            file_name, [](std::istream& s) { return OutputDataReadWriteINT().readOutputData(s); });
+            file_name, [](std::istream& s) { return ReadWriteINT().readOutputData(s); });
 
     else if (readAs(nicos))
         ret = readOutputData(file_name, [](std::istream& s) { return IO::readNicosData(s); });
@@ -56,7 +56,7 @@ OutputData<double>* IntensityDataIOFactory::readOutputData(const std::string& fi
 #ifdef BA_TIFF_SUPPORT
     else if (readAs(tiff))
         ret = readOutputData(
-            file_name, [](std::istream& s) { return OutputDataReadWriteTiff().readOutputData(s); });
+            file_name, [](std::istream& s) { return ReadWriteTiff().readOutputData(s); });
 #endif
 
     else
@@ -64,7 +64,7 @@ OutputData<double>* IntensityDataIOFactory::readOutputData(const std::string& fi
         // If the file is not actually a matrix of numbers,
         // the error will be thrown during the reading.
         ret = readOutputData(file_name, [](std::istream& s) {
-            return OutputDataReadWriteNumpyTXT().readOutputData(s);
+            return ReadWriteNumpyTXT().readOutputData(s);
         });
 
     ASSERT(ret);
@@ -74,7 +74,7 @@ OutputData<double>* IntensityDataIOFactory::readOutputData(const std::string& fi
 OutputData<double>* IntensityDataIOFactory::readReflectometryData(const std::string& file_name)
 {
     return readOutputData(
-        file_name, [](std::istream& s) { return OutputDataReadReflectometry().readOutputData(s); });
+        file_name, [](std::istream& s) { return ReadReflectometry().readOutputData(s); });
 }
 
 IHistogram* IntensityDataIOFactory::readIntensityData(const std::string& file_name)
@@ -90,16 +90,16 @@ void IntensityDataIOFactory::writeOutputData(const OutputData<double>& data,
 {
     if (DataUtils::Format::isIntFile(file_name))
         writeOutputData(
-            file_name, [&](std::ostream& s) { OutputDataReadWriteINT().writeOutputData(data, s); });
+            file_name, [&](std::ostream& s) { ReadWriteINT().writeOutputData(data, s); });
 #ifdef BA_TIFF_SUPPORT
     else if (DataUtils::Format::isTiffFile(file_name))
         writeOutputData(file_name, [&](std::ostream& s) {
-            OutputDataReadWriteTiff().writeOutputData(data, s);
+            ReadWriteTiff().writeOutputData(data, s);
         });
 #endif
     else
         writeOutputData(file_name, [&](std::ostream& s) {
-            OutputDataReadWriteNumpyTXT().writeOutputData(data, s);
+            ReadWriteNumpyTXT().writeOutputData(data, s);
         });
 }
 
diff --git a/Device/InputOutput/ReadReflectometry.cpp b/Device/InputOutput/ReadReflectometry.cpp
index 2306dfd4335c93740ca68c37c21722eadeb2fa76..504f4f0580bfdac4d41cfc4106896d13e7c54b41 100644
--- a/Device/InputOutput/ReadReflectometry.cpp
+++ b/Device/InputOutput/ReadReflectometry.cpp
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadReflectometry.cpp
-//! @brief     Implements class OutputDataReadWriteReflectometry.
+//! @brief     Implements class ReadWriteReflectometry.
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -21,7 +21,7 @@
 
 // #bamigration +++ this works only if separator is space or tab; it does not
 // work e.g. with comma or semicolon
-OutputData<double>* OutputDataReadReflectometry::readOutputData(std::istream& inStream)
+OutputData<double>* ReadReflectometry::readOutputData(std::istream& inStream)
 {
     auto* oData = new OutputData<double>();
     std::string line;
diff --git a/Device/InputOutput/ReadReflectometry.h b/Device/InputOutput/ReadReflectometry.h
index d50d8f033bf51f995fbc0bef8106f753819627bd..3d5552de8bf6309c1067bf0ecff73efd6ee38355 100644
--- a/Device/InputOutput/ReadReflectometry.h
+++ b/Device/InputOutput/ReadReflectometry.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadReflectometry.h
-//! @brief     Defines OutputDataReadReflectometry
+//! @brief     Defines ReadReflectometry
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -27,7 +27,7 @@ class OutputData;
 
 //! Class for reading reflectometry data from ASCII file.
 
-class OutputDataReadReflectometry {
+class ReadReflectometry {
 public:
     OutputData<double>* readOutputData(std::istream& inStream);
 };
diff --git a/Device/InputOutput/ReadWriteINT.cpp b/Device/InputOutput/ReadWriteINT.cpp
index f8c21bef921570ed4ab37654764fd380283d6b63..1bd804324b762ab5339b4cfc38c2ec5d04992d59 100644
--- a/Device/InputOutput/ReadWriteINT.cpp
+++ b/Device/InputOutput/ReadWriteINT.cpp
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadWriteINT.cpp
-//! @brief     Implements class OutputDataReadWriteINT.
+//! @brief     Implements class ReadWriteINT.
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -17,7 +17,7 @@
 #include "Device/Data/ArrayUtils.h"
 #include "Device/InputOutput/DataFormatUtils.h"
 
-OutputData<double>* OutputDataReadWriteINT::readOutputData(std::istream& input_stream)
+OutputData<double>* ReadWriteINT::readOutputData(std::istream& input_stream)
 {
     auto* result = new OutputData<double>;
     std::string line;
@@ -35,7 +35,7 @@ OutputData<double>* OutputDataReadWriteINT::readOutputData(std::istream& input_s
     return result;
 }
 
-void OutputDataReadWriteINT::writeOutputData(const OutputData<double>& data,
+void ReadWriteINT::writeOutputData(const OutputData<double>& data,
                                              std::ostream& output_stream)
 {
     output_stream << "# BornAgain Intensity Data\n\n";
@@ -55,7 +55,7 @@ void OutputDataReadWriteINT::writeOutputData(const OutputData<double>& data,
     output_stream << std::endl;
 }
 
-void OutputDataReadWriteINT::writeOutputDataDoubles(const OutputData<double>& data,
+void ReadWriteINT::writeOutputDataDoubles(const OutputData<double>& data,
                                                     std::ostream& output_stream, size_t n_columns)
 {
     OutputData<double>::const_iterator it = data.begin();
@@ -73,7 +73,7 @@ void OutputDataReadWriteINT::writeOutputDataDoubles(const OutputData<double>& da
     }
 }
 
-double OutputDataReadWriteINT::ignoreDenormalized(double value)
+double ReadWriteINT::ignoreDenormalized(double value)
 {
     return (std::fpclassify(value) == FP_SUBNORMAL) ? 0.0 : value;
 }
diff --git a/Device/InputOutput/ReadWriteINT.h b/Device/InputOutput/ReadWriteINT.h
index 14fbc7858e7f59a1c1e7a0be7001924980ebaf93..69578e155c99b9ea3caac092547e0c92a8e82552 100644
--- a/Device/InputOutput/ReadWriteINT.h
+++ b/Device/InputOutput/ReadWriteINT.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadWriteINT.h
-//! @brief     Defines OutputDataReadWriteINT
+//! @brief     Defines ReadWriteINT
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -27,7 +27,7 @@ class OutputData;
 
 //! Class for reading and writing BornAgain native IntensityData from ASCII file.
 
-class OutputDataReadWriteINT {
+class ReadWriteINT {
 public:
     OutputData<double>* readOutputData(std::istream& input_stream);
     void writeOutputData(const OutputData<double>& data, std::ostream& output_stream);
diff --git a/Device/InputOutput/ReadWriteNumpyTXT.cpp b/Device/InputOutput/ReadWriteNumpyTXT.cpp
index c410c8efe98e320eed9aedb08649d1dfe7ef9cff..82ea97d0c5aece6624b80ee431095253a5e76015 100644
--- a/Device/InputOutput/ReadWriteNumpyTXT.cpp
+++ b/Device/InputOutput/ReadWriteNumpyTXT.cpp
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadWriteNumpyTXT.cpp
-//! @brief     Implements class OutputDataReadWriteNumpyTXT.
+//! @brief     Implements class ReadWriteNumpyTXT.
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -28,7 +28,7 @@ bool isDoubleStartChar(char c)
 
 } // namespace
 
-OutputData<double>* OutputDataReadWriteNumpyTXT::readOutputData(std::istream& input_stream)
+OutputData<double>* ReadWriteNumpyTXT::readOutputData(std::istream& input_stream)
 {
     std::string line;
     std::vector<std::vector<double>> data;
@@ -54,12 +54,12 @@ OutputData<double>* OutputDataReadWriteNumpyTXT::readOutputData(std::istream& in
         ncols = data[0].size();
 
     if (ncols == 0)
-        throw std::runtime_error("OutputDataReadNumpyTXTStrategy::readOutputData() -> Error. "
+        throw std::runtime_error("ReadNumpyTXTStrategy::readOutputData() -> Error. "
                                  "Can't parse file");
 
     for (size_t row = 0; row < nrows; row++) {
         if (data[row].size() != ncols)
-            throw std::runtime_error("OutputDataReadNumpyTXTStrategy::readOutputData() -> Error. "
+            throw std::runtime_error("ReadNumpyTXTStrategy::readOutputData() -> Error. "
                                      "Number of elements is different from row to row.");
     }
 
@@ -77,7 +77,7 @@ OutputData<double>* OutputDataReadWriteNumpyTXT::readOutputData(std::istream& in
     return DataUtils::Array::createData(data).release();
 }
 
-void OutputDataReadWriteNumpyTXT::writeOutputData(const OutputData<double>& data,
+void ReadWriteNumpyTXT::writeOutputData(const OutputData<double>& data,
                                                   std::ostream& output_stream)
 {
     output_stream << "# BornAgain Intensity Data" << std::endl;
@@ -97,7 +97,7 @@ void OutputDataReadWriteNumpyTXT::writeOutputData(const OutputData<double>& data
     }
 }
 
-void OutputDataReadWriteNumpyTXT::write1DRepresentation(const OutputData<double>& data,
+void ReadWriteNumpyTXT::write1DRepresentation(const OutputData<double>& data,
                                                         std::ostream& output_stream)
 {
     output_stream << "# coordinates         intensities" << std::endl;
@@ -111,7 +111,7 @@ void OutputDataReadWriteNumpyTXT::write1DRepresentation(const OutputData<double>
         output_stream << axis_values[i] << "    " << ignoreDenormalized(data[i]) << std::endl;
 }
 
-void OutputDataReadWriteNumpyTXT::write2DRepresentation(const OutputData<double>& data,
+void ReadWriteNumpyTXT::write2DRepresentation(const OutputData<double>& data,
                                                         std::ostream& output_stream)
 {
     const size_t nrows = data.axis(1).size();
@@ -132,7 +132,7 @@ void OutputDataReadWriteNumpyTXT::write2DRepresentation(const OutputData<double>
     }
 }
 
-double OutputDataReadWriteNumpyTXT::ignoreDenormalized(double value)
+double ReadWriteNumpyTXT::ignoreDenormalized(double value)
 {
     return (std::fpclassify(value) == FP_SUBNORMAL) ? 0.0 : value;
 }
diff --git a/Device/InputOutput/ReadWriteNumpyTXT.h b/Device/InputOutput/ReadWriteNumpyTXT.h
index a1fbda39af40bda70f9d1b3d432d4f2de6d42292..b7a25994d105b891d725b07081eaf53776f46694 100644
--- a/Device/InputOutput/ReadWriteNumpyTXT.h
+++ b/Device/InputOutput/ReadWriteNumpyTXT.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadWriteNumpyTXT.h
-//! @brief     Defines OutputDataReadWriteNumpyTXT
+//! @brief     Defines ReadWriteNumpyTXT
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -28,7 +28,7 @@ class OutputData;
 //! Class for reading and writing OutputData from simple ASCII file with the layout as in
 //! numpy.savetxt.
 
-class OutputDataReadWriteNumpyTXT {
+class ReadWriteNumpyTXT {
 public:
     OutputData<double>* readOutputData(std::istream& input_stream);
     void writeOutputData(const OutputData<double>& data, std::ostream& output_stream);
diff --git a/Device/InputOutput/ReadWriteTiff.cpp b/Device/InputOutput/ReadWriteTiff.cpp
index c8762fac821ed73d4c61ddd5d7307527458b2696..b8a1cc81daf25657baecec6abb3d34c9f57c1212 100644
--- a/Device/InputOutput/ReadWriteTiff.cpp
+++ b/Device/InputOutput/ReadWriteTiff.cpp
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadWriteTiff.cpp
-//! @brief     Implements class OutputDataReadWriteTiff
+//! @brief     Implements class ReadWriteTiff
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -20,7 +20,7 @@
 #include <memory>
 #include <tiffio.hxx>
 
-OutputDataReadWriteTiff::OutputDataReadWriteTiff()
+ReadWriteTiff::ReadWriteTiff()
     : m_tiff(nullptr)
     , m_width(0)
     , m_height(0)
@@ -30,34 +30,34 @@ OutputDataReadWriteTiff::OutputDataReadWriteTiff()
 {
 }
 
-OutputDataReadWriteTiff::~OutputDataReadWriteTiff()
+ReadWriteTiff::~ReadWriteTiff()
 {
     close();
 }
 
-void OutputDataReadWriteTiff::read(std::istream& input_stream)
+void ReadWriteTiff::read(std::istream& input_stream)
 {
     m_tiff = TIFFStreamOpen("MemTIFF", &input_stream);
     if (!m_tiff)
-        throw std::runtime_error("OutputDataReadWriteTiff::read() -> Can't open the file.");
+        throw std::runtime_error("ReadWriteTiff::read() -> Can't open the file.");
 
     read_header();
     read_data();
     close();
 }
 
-OutputData<double>* OutputDataReadWriteTiff::readOutputData(std::istream& input_stream)
+OutputData<double>* ReadWriteTiff::readOutputData(std::istream& input_stream)
 {
     read(input_stream);
     return m_data->clone();
 }
 
-void OutputDataReadWriteTiff::writeOutputData(const OutputData<double>& data,
+void ReadWriteTiff::writeOutputData(const OutputData<double>& data,
                                               std::ostream& output_stream)
 {
     m_data.reset(data.clone());
     if (m_data->rank() != 2)
-        throw std::runtime_error("OutputDataReadWriteTiff::write -> Error. "
+        throw std::runtime_error("ReadWriteTiff::write -> Error. "
                                  "Only 2-dim arrays supported");
     m_tiff = TIFFStreamOpen("MemTIFF", &output_stream);
     m_width = m_data->axis(0).size();
@@ -67,14 +67,14 @@ void OutputDataReadWriteTiff::writeOutputData(const OutputData<double>& data,
     close();
 }
 
-void OutputDataReadWriteTiff::read_header()
+void ReadWriteTiff::read_header()
 {
     ASSERT(m_tiff);
     uint32_t width(0);
     uint32_t height(0);
     if (!TIFFGetField(m_tiff, TIFFTAG_IMAGEWIDTH, &width)
         || !TIFFGetField(m_tiff, TIFFTAG_IMAGELENGTH, &height)) {
-        throw std::runtime_error("OutputDataReadWriteTiff::read_header() -> Error. "
+        throw std::runtime_error("ReadWriteTiff::read_header() -> Error. "
                                  "Can't read width/height.");
     }
 
@@ -115,7 +115,7 @@ void OutputDataReadWriteTiff::read_header()
 
     if (!good) {
         std::ostringstream message;
-        message << "OutputDataReadWriteTiff::read_header() -> Error. "
+        message << "ReadWriteTiff::read_header() -> Error. "
                 << "Can't read tiff image with following parameters:" << std::endl
                 << "    TIFFTAG_BITSPERSAMPLE: " << m_bitsPerSample << std::endl
                 << "    TIFFTAG_SAMPLESPERPIXEL: " << m_samplesPerPixel << std::endl
@@ -124,7 +124,7 @@ void OutputDataReadWriteTiff::read_header()
     }
 }
 
-void OutputDataReadWriteTiff::read_data()
+void ReadWriteTiff::read_data()
 {
     ASSERT(m_tiff);
 
@@ -134,12 +134,12 @@ void OutputDataReadWriteTiff::read_data()
     tmsize_t expected_size = bytesPerSample * m_width;
     if (buf_size != expected_size)
         throw std::runtime_error(
-            "OutputDataReadWriteTiff::read_data() -> Error. Wrong scanline size.");
+            "ReadWriteTiff::read_data() -> Error. Wrong scanline size.");
 
     tdata_t buf = _TIFFmalloc(buf_size);
     if (!buf)
         throw std::runtime_error(
-            "OutputDataReadWriteTiff::read_data() -> Error. Can't allocate buffer.");
+            "ReadWriteTiff::read_data() -> Error. Can't allocate buffer.");
 
     create_output_data();
 
@@ -151,7 +151,7 @@ void OutputDataReadWriteTiff::read_data()
     for (uint32_t row = 0; row < (uint32_t)m_height; row++) {
         if (TIFFReadScanline(m_tiff, buf, row) < 0)
             throw std::runtime_error(
-                "OutputDataReadWriteTiff::read_data() -> Error. Error in scanline.");
+                "ReadWriteTiff::read_data() -> Error. Error in scanline.");
 
         memcpy(&line_buf[0], buf, buf_size);
 
@@ -194,7 +194,7 @@ void OutputDataReadWriteTiff::read_data()
                 sample = double(*reinterpret_cast<float*>(incoming));
                 break;
             default:
-                throw std::runtime_error("OutputDataReadWriteTiff: unexpected sample format");
+                throw std::runtime_error("ReadWriteTiff: unexpected sample format");
             }
 
             (*m_data)[global_index] = sample;
@@ -203,7 +203,7 @@ void OutputDataReadWriteTiff::read_data()
     _TIFFfree(buf);
 }
 
-void OutputDataReadWriteTiff::write_header()
+void ReadWriteTiff::write_header()
 {
     ASSERT(m_tiff);
     TIFFSetField(m_tiff, TIFFTAG_ARTIST, "BornAgain.IOFactory");
@@ -226,14 +226,14 @@ void OutputDataReadWriteTiff::write_header()
     TIFFSetField(m_tiff, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISWHITE);
 }
 
-void OutputDataReadWriteTiff::write_data()
+void ReadWriteTiff::write_data()
 {
     using sample_t = int;
     tmsize_t buf_size = sizeof(sample_t) * m_width;
     tdata_t buf = _TIFFmalloc(buf_size);
     if (!buf)
         throw std::runtime_error(
-            "OutputDataReadWriteTiff::write_data() -> Error. Can't allocate buffer.");
+            "ReadWriteTiff::write_data() -> Error. Can't allocate buffer.");
 
     std::vector<sample_t> line_buf;
     line_buf.resize(m_width, 0);
@@ -249,13 +249,13 @@ void OutputDataReadWriteTiff::write_data()
 
         if (TIFFWriteScanline(m_tiff, buf, row) < 0)
             throw std::runtime_error(
-                "OutputDataReadWriteTiff::write_data() -> Error. Error in TIFFWriteScanline.");
+                "ReadWriteTiff::write_data() -> Error. Error in TIFFWriteScanline.");
     }
     _TIFFfree(buf);
     TIFFFlush(m_tiff);
 }
 
-void OutputDataReadWriteTiff::close()
+void ReadWriteTiff::close()
 {
     if (m_tiff) {
         TIFFClose(m_tiff);
@@ -265,7 +265,7 @@ void OutputDataReadWriteTiff::close()
     }
 }
 
-void OutputDataReadWriteTiff::create_output_data()
+void ReadWriteTiff::create_output_data()
 {
     ASSERT(m_tiff);
     m_data = std::make_unique<OutputData<double>>();
diff --git a/Device/InputOutput/ReadWriteTiff.h b/Device/InputOutput/ReadWriteTiff.h
index 232e7e04be92ee0ed2f54fea081c3212c289b465..8ac29685ace2f78d32f10cdc79ccdec9b7a6d2ec 100644
--- a/Device/InputOutput/ReadWriteTiff.h
+++ b/Device/InputOutput/ReadWriteTiff.h
@@ -3,7 +3,7 @@
 //  BornAgain: simulate and fit reflection and scattering
 //
 //! @file      Device/InputOutput/ReadWriteTiff.h
-//! @brief     Defines class OutputDataReadWriteTiff
+//! @brief     Defines class ReadWriteTiff
 //!
 //! @homepage  http://www.bornagainproject.org
 //! @license   GNU General Public License v3 or higher (see COPYING)
@@ -29,10 +29,10 @@
 
 //! Reads/write tiff files.
 
-class OutputDataReadWriteTiff {
+class ReadWriteTiff {
 public:
-    OutputDataReadWriteTiff();
-    ~OutputDataReadWriteTiff();
+    ReadWriteTiff();
+    ~ReadWriteTiff();
 
     OutputData<double>* readOutputData(std::istream& input_stream);
     void writeOutputData(const OutputData<double>& data, std::ostream& output_stream);
diff --git a/GUI/Model/Device/PointwiseAxisItem.cpp b/GUI/Model/Device/PointwiseAxisItem.cpp
index 8a7e3eada907546a555b16d5701be569bbfedb74..3c6ec93cde2204c978d0404fec68d9f9b195253d 100644
--- a/GUI/Model/Device/PointwiseAxisItem.cpp
+++ b/GUI/Model/Device/PointwiseAxisItem.cpp
@@ -94,7 +94,7 @@ QByteArray PointwiseAxisItem::serializeBinaryData() const
     axisData.addAxis(*m_axis);
 
     std::stringstream ss;
-    OutputDataReadWriteINT().writeOutputData(axisData, ss);
+    ReadWriteINT().writeOutputData(axisData, ss);
     return QByteArray(ss.str().c_str(), static_cast<int>(ss.str().size()));
 }
 
@@ -104,7 +104,7 @@ void PointwiseAxisItem::deserializeBinaryData(const QByteArray& data)
         return;
 
     std::istringstream str(data.toStdString());
-    std::unique_ptr<OutputData<double>> d(OutputDataReadWriteINT().readOutputData(str));
+    std::unique_ptr<OutputData<double>> d(ReadWriteINT().readOutputData(str));
     m_axis = std::unique_ptr<IAxis>(d->axis(0).clone());
 }
 
diff --git a/GUI/View/Loaders/AutomaticDataLoader1D.cpp b/GUI/View/Loaders/AutomaticDataLoader1D.cpp
index 974a050632ba026c8a7a0325bb54cc2b6224f1a5..77fe247279d5c7dd66854bc6c324927971cf20fb 100644
--- a/GUI/View/Loaders/AutomaticDataLoader1D.cpp
+++ b/GUI/View/Loaders/AutomaticDataLoader1D.cpp
@@ -88,7 +88,7 @@ void AutomaticDataLoader1D::processContents()
 
     try {
         std::stringstream str(m_fileContent.constData());
-        auto* oData = OutputDataReadReflectometry().readOutputData(str);
+        auto* oData = ReadReflectometry().readOutputData(str);
 
         ImportDataInfo importInfo(std::move(*oData), Axes::Coords::QSPACE);
         m_item->setImportData(std::move(importInfo));
diff --git a/Tests/Unit/Device/IOReaderWriterTest.cpp b/Tests/Unit/Device/IOReaderWriterTest.cpp
index b142d040138d38b1619acf882ccb0c6c9e0fc349..b6140c4045130fa876ac79e81b2015da9d3028a2 100644
--- a/Tests/Unit/Device/IOReaderWriterTest.cpp
+++ b/Tests/Unit/Device/IOReaderWriterTest.cpp
@@ -23,9 +23,9 @@ IOReaderWriterTest::IOReaderWriterTest()
 TEST_F(IOReaderWriterTest, TestRWINT)
 {
     std::stringstream ss;
-    OutputDataReadWriteINT write_int;
+    ReadWriteINT write_int;
     write_int.writeOutputData(m_model_data, ss);
-    OutputDataReadWriteINT read_int;
+    ReadWriteINT read_int;
     auto result = std::unique_ptr<OutputData<double>>(read_int.readOutputData(ss));
 
     auto compare_axis = [this, &result](size_t index) {
@@ -45,10 +45,10 @@ TEST_F(IOReaderWriterTest, TestRWINT)
 TEST_F(IOReaderWriterTest, TestRWNumpyTXT)
 {
     std::stringstream ss;
-    OutputDataReadWriteNumpyTXT write_txt;
+    ReadWriteNumpyTXT write_txt;
     write_txt.writeOutputData(m_model_data, ss);
 
-    OutputDataReadWriteNumpyTXT read_txt;
+    ReadWriteNumpyTXT read_txt;
     auto result = std::unique_ptr<OutputData<double>>(read_txt.readOutputData(ss));
     EXPECT_EQ(m_model_data.rank(), result->rank());
     EXPECT_EQ(m_model_data.getAllSizes(), result->getAllSizes());
@@ -61,10 +61,10 @@ TEST_F(IOReaderWriterTest, TestRWNumpyTXT)
 TEST_F(IOReaderWriterTest, TestRWTiff)
 {
     std::stringstream ss;
-    OutputDataReadWriteTiff write_tiff;
+    ReadWriteTiff write_tiff;
     write_tiff.writeOutputData(m_model_data, ss);
 
-    OutputDataReadWriteTiff read_tiff;
+    ReadWriteTiff read_tiff;
     auto result = std::unique_ptr<OutputData<double>>(read_tiff.readOutputData(ss));
     EXPECT_EQ(m_model_data.rank(), result->rank());
     EXPECT_EQ(m_model_data.getAllSizes(), result->getAllSizes());
diff --git a/auto/Wrap/doxygenDevice.i b/auto/Wrap/doxygenDevice.i
index b5b803eba122412ceef8f7ff7ab6e2b4fe75ca07..af4bd536fca8ea1fe33d6ce3077bd8a63c0368f3 100644
--- a/auto/Wrap/doxygenDevice.i
+++ b/auto/Wrap/doxygenDevice.i
@@ -2088,48 +2088,6 @@ Swaps iterators.
 ";
 
 
-// File: classOutputDataReadReflectometry.xml
-%feature("docstring") OutputDataReadReflectometry "
-
-Class for reading reflectometry data from ASCII file.
-
-C++ includes: ReadReflectometry.h
-";
-
-%feature("docstring")  OutputDataReadReflectometry::readOutputData "OutputData< double > * OutputDataReadReflectometry::readOutputData(std::istream &inStream)
-";
-
-
-// File: classOutputDataReadWriteINT.xml
-%feature("docstring") OutputDataReadWriteINT "
-
-Class for reading and writing BornAgain native IntensityData from ASCII file.
-
-C++ includes: ReadWriteINT.h
-";
-
-%feature("docstring")  OutputDataReadWriteINT::readOutputData "OutputData< double > * OutputDataReadWriteINT::readOutputData(std::istream &input_stream)
-";
-
-%feature("docstring")  OutputDataReadWriteINT::writeOutputData "void OutputDataReadWriteINT::writeOutputData(const OutputData< double > &data, std::ostream &output_stream)
-";
-
-
-// File: classOutputDataReadWriteNumpyTXT.xml
-%feature("docstring") OutputDataReadWriteNumpyTXT "
-
-Class for reading and writing  OutputData from simple ASCII file with the layout as in numpy.savetxt.
-
-C++ includes: ReadWriteNumpyTXT.h
-";
-
-%feature("docstring")  OutputDataReadWriteNumpyTXT::readOutputData "OutputData< double > * OutputDataReadWriteNumpyTXT::readOutputData(std::istream &input_stream)
-";
-
-%feature("docstring")  OutputDataReadWriteNumpyTXT::writeOutputData "void OutputDataReadWriteNumpyTXT::writeOutputData(const OutputData< double > &data, std::ostream &output_stream)
-";
-
-
 // File: classPolFilter.xml
 %feature("docstring") PolFilter "
 
@@ -2250,6 +2208,48 @@ The private data for polygons to hide boost dependency from the header.
 ";
 
 
+// File: classReadReflectometry.xml
+%feature("docstring") ReadReflectometry "
+
+Class for reading reflectometry data from ASCII file.
+
+C++ includes: ReadReflectometry.h
+";
+
+%feature("docstring")  ReadReflectometry::readOutputData "OutputData< double > * ReadReflectometry::readOutputData(std::istream &inStream)
+";
+
+
+// File: classReadWriteINT.xml
+%feature("docstring") ReadWriteINT "
+
+Class for reading and writing BornAgain native IntensityData from ASCII file.
+
+C++ includes: ReadWriteINT.h
+";
+
+%feature("docstring")  ReadWriteINT::readOutputData "OutputData< double > * ReadWriteINT::readOutputData(std::istream &input_stream)
+";
+
+%feature("docstring")  ReadWriteINT::writeOutputData "void ReadWriteINT::writeOutputData(const OutputData< double > &data, std::ostream &output_stream)
+";
+
+
+// File: classReadWriteNumpyTXT.xml
+%feature("docstring") ReadWriteNumpyTXT "
+
+Class for reading and writing  OutputData from simple ASCII file with the layout as in numpy.savetxt.
+
+C++ includes: ReadWriteNumpyTXT.h
+";
+
+%feature("docstring")  ReadWriteNumpyTXT::readOutputData "OutputData< double > * ReadWriteNumpyTXT::readOutputData(std::istream &input_stream)
+";
+
+%feature("docstring")  ReadWriteNumpyTXT::writeOutputData "void ReadWriteNumpyTXT::writeOutputData(const OutputData< double > &data, std::ostream &output_stream)
+";
+
+
 // File: classRectangle.xml
 %feature("docstring") Rectangle "