diff --git a/alib2cli/makefile.conf b/alib2cli/makefile.conf
index a4c42745316dc6213bf5e02f567025e2531d0043..89e4689b2d85c2b353efe245c015daaec80d18a8 100644
--- a/alib2cli/makefile.conf
+++ b/alib2cli/makefile.conf
@@ -1,7 +1,7 @@
 LIBRARY:=alib2cli
 TESTBIN:=alib2test
 
-LINK_LIBRARIES=alib2str alib2data alib2xml alib2common alib2abstraction alib2measure alib2std
+LINK_LIBRARIES=alib2raw alib2str alib2data alib2xml alib2common alib2abstraction alib2measure alib2std
 SYSTEM_LIBRARIES=xml2 stdc++fs
 SYSTEM_INCLUDE_PATHS=/usr/include/libxml2
 TEST_LINK_LIBRARIES=
diff --git a/alib2cli/src/registration/InputFileTypeRegistration.cpp b/alib2cli/src/registration/InputFileTypeRegistration.cpp
index 30cd30c6972380bee9dcad0760987ad725dbc7a0..1635f9e9c163123360bf36359c80656a691ef3a4 100644
--- a/alib2cli/src/registration/InputFileTypeRegistration.cpp
+++ b/alib2cli/src/registration/InputFileTypeRegistration.cpp
@@ -2,6 +2,7 @@
 
 #include <registry/XmlRegistry.h>
 #include <registry/StringReaderRegistry.hpp>
+#include <registry/RawReaderRegistry.hpp>
 
 #include <abstraction/ImmediateValueAbstraction.hpp>
 #include <abstraction/XmlTokensParserAbstraction.hpp>
@@ -77,8 +78,31 @@ namespace {
 		return res;
 	}
 
+	std::shared_ptr < abstraction::OperationAbstraction > dummy4 ( const std::string & typehint, const ext::vector < std::string > & ) {
+		ext::vector < std::shared_ptr < abstraction::OperationAbstraction > > abstractions;
+
+		ext::vector < std::string > templateParams;
+		ext::vector < std::string > paramTypes { ext::to_string < std::string > ( ) };
+		abstraction::AlgorithmCategories::AlgorithmCategory category = abstraction::AlgorithmCategories::AlgorithmCategory::NONE;
+
+		abstractions.push_back ( abstraction::Registry::getAlgorithmAbstraction ( "cli::builtin::ReadFile", templateParams, paramTypes, category ) );
+
+		auto rawParserAbstractionFinder = [ = ] ( const std::string & ) {
+			return abstraction::RawReaderRegistry::getAbstraction ( typehint );
+		};
+
+		abstractions.push_back ( std::make_shared < abstraction::WrapperAbstraction < abstraction::UnspecifiedType, std::string && > > ( rawParserAbstractionFinder ) );
+
+		std::shared_ptr < abstraction::PackingAbstraction < 1 > > res = std::make_shared < abstraction::PackingAbstraction < 1 > > ( std::move ( abstractions ), 1 );
+		res->setInnerConnection ( 0, 1, 0, true );
+		res->setOuterConnection ( 0, 0, 0 );
+
+		return res;
+	}
+
 auto xmlInputFileHandler = registration::InputFileRegister ( "xml", dummy );
 auto fileInputFileHandler = registration::InputFileRegister ( "file", dummy2 );
 auto stringInputFileHandler = registration::InputFileRegister ( "string", dummy3 );
+auto rawInputFileHandler = registration::InputFileRegister ( "raw", dummy4 );
 
 }
diff --git a/alib2cli/src/registration/OutputFileTypeRegistration.cpp b/alib2cli/src/registration/OutputFileTypeRegistration.cpp
index 05929d5eb2ad73269ac3ee3f9fe55c2bd6a1d993..92451358957b9f3670c8af41eed4f610faa1b1ca 100644
--- a/alib2cli/src/registration/OutputFileTypeRegistration.cpp
+++ b/alib2cli/src/registration/OutputFileTypeRegistration.cpp
@@ -4,6 +4,7 @@
 
 #include <registry/XmlRegistry.h>
 #include <registry/StringWriterRegistry.hpp>
+#include <registry/RawWriterRegistry.hpp>
 
 #include <abstraction/ImmediateValueAbstraction.hpp>
 #include <abstraction/XmlTokensComposerAbstraction.hpp>
@@ -54,8 +55,28 @@ namespace {
 		return res;
 	}
 
+	std::shared_ptr < abstraction::OperationAbstraction > dummy4 ( const std::string & typehint ) {
+		ext::vector < std::shared_ptr < abstraction::OperationAbstraction > > abstractions;
+
+		abstractions.push_back ( abstraction::RawWriterRegistry::getAbstraction ( typehint ) );
+
+		ext::vector < std::string > templateParams;
+		ext::vector < std::string > paramTypes { ext::to_string < std::string > ( ), ext::to_string < std::string > ( ) };
+		abstraction::AlgorithmCategories::AlgorithmCategory category = abstraction::AlgorithmCategories::AlgorithmCategory::NONE;
+
+		abstractions.push_back ( abstraction::Registry::getAlgorithmAbstraction ( "cli::builtin::WriteFile", templateParams, paramTypes, category ) );
+
+		std::shared_ptr < abstraction::PackingAbstraction < 2 > > res = std::make_shared < abstraction::PackingAbstraction < 2 > > ( std::move ( abstractions ), 1 );
+		res->setInnerConnection ( 0, 1, 1, true );
+		res->setOuterConnection ( 0, 1, 0 ); // filename
+		res->setOuterConnection ( 1, 0, 0 ); // data
+
+		return res;
+	}
+
 auto xmlOutputFileHandler = registration::OutputFileRegister ( "xml", dummy );
 auto fileOutputFileHandler = registration::OutputFileRegister ( "file", dummy2 );
 auto stringOutputFileHandler = registration::OutputFileRegister ( "string", dummy3 );
+auto rawOutputFileHandler = registration::OutputFileRegister ( "raw", dummy4 );
 
 }