diff --git a/libcorpus2_whole/io/reader_i.h b/libcorpus2_whole/io/reader_i.h
index b7a8afc8ebdf7312caf2bdc7f73f3a8d13760784..e3ba688aa0d0f0aad7703cd54d8016f838a55377 100644
--- a/libcorpus2_whole/io/reader_i.h
+++ b/libcorpus2_whole/io/reader_i.h
@@ -2,11 +2,13 @@
 #define READERI_H
 
 #include <string>
+#include <boost/shared_ptr.hpp>
 
 #include <libcorpus2_whole/document.h>
-#include <boost/shared_ptr.hpp>
+#include <libcorpus2_whole/corpus.h>
 
 namespace Corpus2 {
+namespace whole {
 
 /**
  * Reader interface,
@@ -26,6 +28,13 @@ protected:
 	const std::string type_;
 };
 
-}
+class CorpusReaderI
+{
+public:
+	virtual boost::shared_ptr<Corpus> read(const std::string& corpus_file) = 0;
+};
+
+} // whole ns
+} // Corpus2 ns
 
 #endif // READERI_H