diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7b8f93973b11747d34539835735dc8eeb09aa20f..3b8678df3bacb8dfafa0bd77a4c4ff9406ad3568 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -63,6 +63,7 @@ endif(MSVC OR BORLAND)
 add_subdirectory(libwccl)
 add_subdirectory(wccl-apps)
 add_subdirectory(tests)
+add_subdirectory(libmwereader)
 
 if(WCCL_BUILD_SWIG)
 	FIND_PACKAGE(SWIG)
diff --git a/libmwereader/CMakeLists.txt b/libmwereader/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..80355dbcab621478dcc152527d6046f3b96d8df6
--- /dev/null
+++ b/libmwereader/CMakeLists.txt
@@ -0,0 +1,37 @@
+PROJECT(MWEReader)
+cmake_minimum_required(VERSION 2.8.0)
+set(libmwereader_major 0)
+set(libmwereader_minor 1)
+
+add_library(corpus2_mwereader SHARED mwereader.cpp )
+
+set_target_properties(corpus2_mwereader PROPERTIES
+	VERSION "${libmwereader_major}.${libmwereader_minor}"
+	SOVERSION ${libmwereader_major})
+
+find_package(Corpus2 1.0.9 REQUIRED)
+set(LIBS ${LIBS} ${Corpus2_LIBRARIES})
+
+find_package(PwrUtils 1.0.1 REQUIRED)
+set(LIBS ${LIBS} ${PwrUtils_LIBRARY})
+
+link_directories(${Boost_LIBRARY_DIRS})
+set(LIBS ${LIBS} ${Boost_LIBRARIES})
+
+find_package(ICU REQUIRED)
+include_directories(${ICU_INCLUDE_DIR})
+set(LIBS ${LIBS} ${ICU_LIBRARIES} ${ICU_I18N_LIBRARIES})
+
+find_package(ANTLR REQUIRED)
+include_directories(${ANTLR_INCLUDE_DIR})
+
+target_link_libraries(corpus2_mwereader corpus2)
+
+add_executable(mwertest mwertest.cpp)
+
+target_link_libraries(mwertest corpus2_mwereader ${LIBS})
+
+if(UNIX)
+	install(TARGETS corpus2_mwereader LIBRARY DESTINATION lib)
+	#install(TARGETS c2pqtest RUNTIME DESTINATION bin)
+endif(UNIX)
diff --git a/libmwereader/mwereader.cpp b/libmwereader/mwereader.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..95d5ede61ab07f61fc289f1868291e151090c09a
--- /dev/null
+++ b/libmwereader/mwereader.cpp
@@ -0,0 +1,56 @@
+#include "mwereader.h"
+
+namespace Corpus2{
+
+bool MWEReader::registered = TokenReader::register_path_reader<MWEReader>(
+	"mwereader","token,chunk,sentence"); // TODO wiecej helpa
+
+	MWEReader::MWEReader(const Tagset &tagset, const std::string &filename)
+		: TokenReader(tagset)
+	{
+		// TODO implementataion
+		std::cerr << "Jestem sobie MWE Readerkiem" << std::endl;
+	}
+
+	MWEReader::~MWEReader()
+	{
+		// TODO implementataion
+	}
+
+	Token* MWEReader::get_next_token()
+	{
+		// TODO implementation
+		return 0;
+	}
+
+	Sentence::Ptr MWEReader::get_next_sentence()
+	{
+		// TODO implementataion
+		return Sentence::Ptr();
+	}
+
+	boost::shared_ptr<Chunk> MWEReader::get_next_chunk()
+	{
+		// TODO implementataion
+		return boost::shared_ptr<Chunk>();
+	}
+
+	void MWEReader::set_option(const std::string& option)
+	{
+		// TODO implementataion
+	}
+
+	void MWEReader::validate()
+	{
+		// TODO implementataion
+	}
+
+	std::string MWEReader::get_option(const std::string& option) const
+	{
+		// TODO implementataion
+		std::string s;
+		return s;
+	}
+
+
+}// ns Corpus2
diff --git a/libmwereader/mwereader.h b/libmwereader/mwereader.h
new file mode 100644
index 0000000000000000000000000000000000000000..71466e51d925bafe4ca640a100f32dd38e849e84
--- /dev/null
+++ b/libmwereader/mwereader.h
@@ -0,0 +1,41 @@
+#ifndef LIBMWEREADER_MWEREADER_H
+#define LIBMWEREADER_MWEREADER_H
+
+#include <libcorpus2/io/reader.h>
+
+namespace Corpus2 {
+
+
+class MWEReader: public TokenReader
+{
+public:
+	MWEReader(const Tagset& tagset, const std::string& filename);
+
+	~MWEReader();
+
+	Token* get_next_token();
+
+	Sentence::Ptr get_next_sentence();
+
+	boost::shared_ptr<Chunk> get_next_chunk();
+
+	void set_option(const std::string& option);
+
+	/**
+	 * Option inspector. Should echo the option if it is set, return
+	 * an empty string otheriwse, and "unknown" if the option is invalid.
+	 */
+	std::string get_option(const std::string& option) const;
+
+	/**
+	 * Check if the reader is valid, should throw if not. Called after
+	 * all set_options during factory reader creation.
+	 */
+	virtual void validate();
+
+	static bool registered;
+};
+
+} // ns Corpus2
+
+#endif // LIBMWEREADER_MWEREADER_H
diff --git a/libmwereader/mwertest.cpp b/libmwereader/mwertest.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..e6a6badf71cc8658d4984563f705a8770704ded8
--- /dev/null
+++ b/libmwereader/mwertest.cpp
@@ -0,0 +1,7 @@
+#include <iostream>
+
+
+int main(int ac, char**av)
+{
+	std::cout << "TEST" << std::endl;
+}