diff --git a/program/Build/RaspberryCloud.sdf b/program/Build/RaspberryCloud.sdf
index afc9ac1a73860b5b3cfcceaa5c0292f89122ba9a..b20cf7c7d5366d51979ea664a9367942cdfa0072 100644
Binary files a/program/Build/RaspberryCloud.sdf and b/program/Build/RaspberryCloud.sdf differ
diff --git a/program/Build/RaspberryCloud.v12.suo b/program/Build/RaspberryCloud.v12.suo
index 728a0587f480dde5fe1cd0f376e0f45aa5b18244..0e216ea257a0b66722d14df7ba57eba18b9c9069 100644
Binary files a/program/Build/RaspberryCloud.v12.suo and b/program/Build/RaspberryCloud.v12.suo differ
diff --git a/program/Source/app/Application.cpp b/program/Source/app/Application.cpp
index 28b1de11a5638803a511b4a498e2b5b865f9b576..d14c277b90112c241785f96f55c710e8d2489721 100644
--- a/program/Source/app/Application.cpp
+++ b/program/Source/app/Application.cpp
@@ -42,8 +42,8 @@ int main2(int argc, char **argv){
 	Application application;
 
 	application.cm.addCloud(make_shared<LocalCloudAdapter>());
-	application.cm.addCloud(make_shared<DropboxAdapter>());
-	application.cm.addCloud(make_shared<FTPAdapter>());
+	//application.cm.addCloud(make_shared<DropboxAdapter>());
+	//application.cm.addCloud(make_shared<FTPAdapter>());
 
 	string dataFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\data\\";
 	string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
@@ -68,6 +68,10 @@ int main2(int argc, char **argv){
 
 	application.cfs.getEncoder()->setFolders(dataFolder, fragFolder);
 	application.cfs.getDecoder()->setFolders(dataFolder, fragFolder);
+
+	application.cfs.getEncoder()->setSymbols(4, 128, 1.0);
+	application.cfs.getDecoder()->setSymbols(4, 128, 1.0);
+
 	application.cfs.setFolders(fragFolder);
 
 	bool waitAnswer = true;
@@ -414,6 +418,70 @@ int test1(){
 	return 0;
 }
 
+int test2(){
+	Application application;
+
+	application.cm.addCloud(make_shared<LocalCloudAdapter>());
+	//application.cm.addCloud(make_shared<DropboxAdapter>());
+	//application.cm.addCloud(make_shared<FTPAdapter>());
+
+	string dataFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\data\\";
+	string fragFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\temp\\";
+	string cloudFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\cloud\\";
+	string cacheFolder = "C:\\Users\\krisz\\raspberrycloud\\skeleton\\Program\\cache\\";
+
+	application.cfs.getEncoder()->setFolders(dataFolder, fragFolder);
+	application.cfs.getDecoder()->setFolders(dataFolder, fragFolder);
+
+	application.cfs.setFolders(fragFolder);
+
+	Cache *cacheToSetup;
+
+	cacheToSetup = new NoCache();
+
+	application.cfs.setCache(cacheToSetup);
+	application.cfs.getCache()->setFolders(cacheFolder, dataFolder);
+	application.cfs.getCache()->readCache();
+
+	application.hnc.setDataFolder(dataFolder);
+
+	for (auto ca : application.cm.getCloudList()){
+		ca->setFolders(cloudFolder, fragFolder);
+	}
+
+	application.ui.setComputeOnPi(false);
+
+	int redundancy = 1.5;
+	for (int max_symbols = 1; max_symbols <= 64; max_symbols *= 2){
+		for (int max_symbol_size = 128; max_symbol_size <= 4096; max_symbol_size *= 2) {
+			application.cfs.getEncoder()->setSymbols(max_symbols, max_symbol_size, redundancy);
+			application.cfs.getDecoder()->setSymbols(max_symbols, max_symbol_size, redundancy);
+
+			for (int i = 0; i < 9; i++) {
+
+				double elapsed_secs = 0;
+				clock_t begin = clock();
+
+				string file1 = boost::lexical_cast<string>(i + 1) + ".html";
+				addFile(application, file1, file1);
+				deleteFile(application, file1);
+
+
+				clock_t end = clock();
+				elapsed_secs += double(end - begin);
+
+				cout.precision(15);
+				cout << "File size: " << pow(2, i) << "KB Spent time:" << elapsed_secs << "Max sym: " << max_symbols << " MSS: " << max_symbol_size << endl;
+			}
+		}
+	}
+
+	int i;
+	cin >> i;
+	return 0;
+}
+
 int main(int argc, char **argv) {
-	return test1();
+	cout << CLOCKS_PER_SEC << endl;
+	return main2(argc, argv);
 }
\ No newline at end of file
diff --git a/program/Source/dataAccess/Decoder.cpp b/program/Source/dataAccess/Decoder.cpp
index 5fde2b48ce6b91ea742c5faf39b7043a6b5d67e3..22c902370094bbb6ce7017fdb60064522bba44b4 100644
--- a/program/Source/dataAccess/Decoder.cpp
+++ b/program/Source/dataAccess/Decoder.cpp
@@ -19,8 +19,17 @@ void Decoder::setFolders(string _dataFolder, string _fragFolder){
 	fragFolder = _fragFolder;
 }
 
+void Decoder::setSymbols(int _max_symbols, int _max_symbol_size, double _redundancy){
+	max_symbols = _max_symbols;
+	max_symbol_size = _max_symbol_size;
+	redundancy = _redundancy;
+}
+
 string Decoder::dataFolder = "";
 string Decoder::fragFolder = "";
+int Decoder::max_symbols = 10;
+int Decoder::max_symbol_size = 256;
+double Decoder::redundancy = 1.0;
 
 ReturnableFile Decoder::decode(FileDescriptor* fileDescriptor)
 {
@@ -35,8 +44,8 @@ ReturnableFile Decoder::decode(FileDescriptor* fileDescriptor)
 		auto fragments = fileDescriptor->getFragments();
 		if (fragments.size() > 0)
 		{
-			uint32_t max_symbols = 10;
-			uint32_t max_symbol_size = fileDescriptor->getSize() / 10 + 1;
+			//uint32_t max_symbols = 10;
+			//uint32_t max_symbol_size = 256;
 
 			using file_decoder = kodo::object::file_decoder<
 				kodo::shallow_full_rlnc_decoder<fifi::binary>>;
diff --git a/program/Source/dataAccess/Decoder.h b/program/Source/dataAccess/Decoder.h
index d4ec1107773f9847ddd3bddf8a09302f24bdbd3f..82673ffa0c584df6dd88df149223b560751ac241 100644
--- a/program/Source/dataAccess/Decoder.h
+++ b/program/Source/dataAccess/Decoder.h
@@ -12,8 +12,12 @@
 class Decoder {
 	static std::string dataFolder;
 	static std::string fragFolder;
+	static int max_symbols;
+	static int max_symbol_size;
+	static double redundancy;
 public:
 	void setFolders(std::string _dataFolder, std::string _fragFolder);
+	void setSymbols(int max_symbols, int max_symbol_size, double redundancy);
 		
 	/**
 	 * decodes the fragments to a file 
diff --git a/program/Source/dataAccess/Encoder.cpp b/program/Source/dataAccess/Encoder.cpp
index f9186758f5c738be53ab2d8cae6aa9a14c2d7c7b..8533c232149afc7bb5b9ed581a2bdeaf586b32b2 100644
--- a/program/Source/dataAccess/Encoder.cpp
+++ b/program/Source/dataAccess/Encoder.cpp
@@ -22,8 +22,17 @@ void Encoder::setFolders(string _dataFolder, string _fragFolder){
 	fragFolder = _fragFolder;
 }
 
+void Encoder::setSymbols(int _max_symbols, int _max_symbol_size, double _redundancy){
+	max_symbols = _max_symbols;
+	max_symbol_size = _max_symbol_size;
+	redundancy = _redundancy;
+}
+
 string Encoder::dataFolder = "";
 string Encoder::fragFolder = "";
+int Encoder::max_symbols = 10;
+int Encoder::max_symbol_size = 256;
+double Encoder::redundancy = 1.0;
 
 FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) {
 	LOG_ENTER_EXIT;
@@ -45,8 +54,8 @@ FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) {
 	long file_size = filesystem::file_size(encode_filename);
 	encoded->setSize(file_size);
 
-	uint32_t max_symbols = 10;
-	uint32_t max_symbol_size = file_size / 10 + 1;
+	//uint32_t max_symbols = 10;						//db   
+	//uint32_t max_symbol_size = 256; // file_size / 10 + 1;  //byte <- mindig 1 k�dol�
 
 	using file_encoder = kodo::object::file_encoder<
 		kodo::shallow_full_rlnc_encoder<fifi::binary >> ;
@@ -62,7 +71,7 @@ FileDescriptor* Encoder::encode(string localFileID, string destinationFileID) {
 
 		vector<uint8_t> payload(e->payload_size());
 
-		for (uint32_t j = 0; j < max_symbols; j++)
+		for (uint32_t j = 0; j < e->symbols(); j++)
 		{
 			e->encode(payload.data());
 
diff --git a/program/Source/dataAccess/Encoder.h b/program/Source/dataAccess/Encoder.h
index d86253091300505cec6152c9964fd67f2a35aca5..f79c503b41b14907af795f08cd78f7c3f8ccee80 100644
--- a/program/Source/dataAccess/Encoder.h
+++ b/program/Source/dataAccess/Encoder.h
@@ -12,8 +12,12 @@
 class Encoder {
 	static std::string dataFolder;
 	static std::string fragFolder;
+	static int max_symbols;
+	static int max_symbol_size;
+	static double redundancy;
 public: 	
 	void setFolders(std::string _dataFolder, std::string _fragFolder);
+	void setSymbols(int max_symbols, int max_symbol_size, double redundancy);
 
 	/**
 	 * encodes the file to fragments