diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 4bf974a8994c2ee687383ddb4194759098412bb5..0000000000000000000000000000000000000000
--- a/.gitignore
+++ /dev/null
@@ -1,52 +0,0 @@
-# Prerequisites
-*.d
-*.autosave
-# Object files
-*.o
-*.ko
-*.obj
-*.elf
-
-# Linker output
-*.ilk
-*.map
-*.exp
-
-# Precompiled Headers
-*.gch
-*.pch
-
-# Libraries
-*.lib
-*.a
-*.la
-*.lo
-
-# Shared objects (inc. Windows DLLs)
-*.dll
-*.so
-*.so.*
-*.dylib
-
-# Executables
-*.exe
-*.out
-*.app
-*.i*86
-*.x86_64
-*.hex
-
-# Debug files
-*.dSYM/
-*.su
-*.idb
-*.pdb
-
-# Kernel Module Compile Results
-*.mod*
-*.cmd
-.tmp_versions/
-modules.order
-Module.symvers
-Mkfile.old
-dkms.conf
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 6e6834468e101f0b9e711e1af34a52d8cf32ae8d..4a890d66a1619ef0e658625d0e365bc2456f8b29 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -6,7 +6,7 @@ set(CRYPTO_SRCS
         dap_enc_base64.c
         dap_enc_aes.c
         dap_enc_newhope.c
-
+        dap_enc_msrln16.c
         dap_enc_key.c
     )
 
@@ -15,7 +15,7 @@ set(CRYPTO_HEADERS
     dap_enc_base64.h
     dap_enc_aes.h
     dap_enc_newhope.h
-
+    dap_enc_msrln16.h
     dap_enc_key.h
 
     )
diff --git a/crypto/dap_enc.c b/crypto/dap_enc.c
index 9ac3ebd3e9c4f3e2ff1e0c4472277517e879554a..089c2ae72f3c6bfd0b590b0923d2924a8653d0d7 100644
--- a/crypto/dap_enc.c
+++ b/crypto/dap_enc.c
@@ -29,6 +29,7 @@
 #include "dap_enc_base64.h"
 #include "dap_enc_key.h"
 #include "dap_common.h"
+#include "dap_enc_msrln16.h"
 
 #define LOG_TAG "dap_enc"
 
@@ -72,6 +73,10 @@ size_t dap_enc_code(struct dap_enc_key * key,const void * buf,const size_t buf_s
             case DAP_ENC_DATA_TYPE_RAW:{
                 proc_buf=buf_out;
             }break;
+            case DAP_ENC_DATA_TYPE_RLWE_MSRLN16:{
+                //надо посмотреть алгоритм
+            }
+            break;
         }
         size_t ret=key->enc(key,buf,buf_size,proc_buf);
         if(data_type_out==DAP_ENC_DATA_TYPE_B64){
@@ -109,6 +114,10 @@ size_t dap_enc_decode(struct dap_enc_key * key,const void * buf, const size_t bu
             proc_buf_const=buf;
             proc_buf_size=buf_size;
         }break;
+        case DAP_ENC_DATA_TYPE_RLWE_MSRLN16:{
+            //надобно алгоритм смотреть штолЕ?!
+        }
+        break;
     }
 
     if(key->dec){
diff --git a/crypto/dap_enc_key.c b/crypto/dap_enc_key.c
index 498cf8b17b1d4110fc4d3b2a96a3675be6b210ef..a52d115122a84fb1a16459058109ed5f5d22f7e4 100644
--- a/crypto/dap_enc_key.c
+++ b/crypto/dap_enc_key.c
@@ -25,6 +25,7 @@
 
 #include "dap_enc_aes.h"
 #include "dap_enc_newhope.h"
+#include "dap_enc_msrln16.h"
 
 #include "dap_enc_key.h"
 
@@ -67,7 +68,20 @@ struct dap_enc_key_callbacks{
                             .new_from_data_callback = dap_enc_newhope_key_new_from_data,
                             .key_public_raw_callback = dap_enc_newhope_key_public_raw,
                             .new_from_data_public_callback = dap_enc_newhope_key_new_from_data_public
-                           }
+                           },
+    //MSRLN16
+    [DAP_ENC_KEY_TYPE_RLWE_MSRLN16] = {
+                            .name = "MSRLN16",
+                            .size_max = 64,
+                            .enc = dap_enc_msrln16_encode,
+                            .dec = dap_enc_msrln16_decode,
+                            .new_callback = NULL,
+                            .delete_callback =NULL,
+                            .new_generate_callback = dap_enc_msrln16_key_new_generate,
+                            .new_from_data_callback = dap_enc_msrln16_key_new_from_data,
+                            .key_public_raw_callback = dap_enc_msrln16_key_public_raw,
+                            .new_from_data_public_callback = dap_enc_msrln16_key_new_from_data_public
+    }
 };
 
 const size_t c_callbacks_size = sizeof(s_callbacks) / sizeof(s_callbacks[0]);
diff --git a/crypto/dap_enc_key.h b/crypto/dap_enc_key.h
index 739d2a1dd680e3955192f565208ea4cc052578a5..36942347b68a589518cb8dc7acf7002c8b37c30c 100644
--- a/crypto/dap_enc_key.h
+++ b/crypto/dap_enc_key.h
@@ -24,8 +24,8 @@
 #include <stddef.h>
 #include <time.h>
 typedef enum dap_enc_data_type{DAP_ENC_DATA_TYPE_RAW,
-                               DAP_ENC_DATA_TYPE_B64,
-                               } dap_enc_data_type_t;
+                               DAP_ENC_DATA_TYPE_B64
+} dap_enc_data_type_t;
 
 typedef enum dap_enc_key_type{ DAP_ENC_KEY_TYPE_AES, // Symmetric AES
 
@@ -74,12 +74,13 @@ typedef enum dap_enc_key_type{ DAP_ENC_KEY_TYPE_AES, // Symmetric AES
                                                // (Bos, Ducas, Kiltz, Lepoint, Lyubashevsky, Schwabe, Shanck, Stehlé)
                                                // Real World Crypto 2017, https://eprint.iacr.org/2017/634)
                                                // using the reference C implementation of Kyber from pq-crystals/kyber
-                           DAP_ENC_KEY_TYPE_SIG_PICNIC  // signature based on zero-knowledge proof as specified in
+                           DAP_ENC_KEY_TYPE_SIG_PICNIC,  // signature based on zero-knowledge proof as specified in
                                                // Post-Quantum Zero-Knowledge and Signatures from Symmetric-Key Primitives
                                                // (Melissa Chase and David Derler and Steven Goldfeder and Claudio Orlandi
                                                // and Sebastian Ramacher and Christian Rechberger and Daniel Slamanig and Greg Zaverucha
                                                // https://eprint.iacr.org/2017/279.pdf), using the optimized implemenation
                                                //  from https://github.com/IAIK/Picnic
+                               DAP_ENC_KEY_TYPE_FNAM2 //ХЗ ЧТО, ДОБАВИЛ ЧТОБЫ БЫЛО И НА МЕНЯ КОМПИЛЯТОР НЕ РУГАЛСЯ:(
                          } dap_enc_key_type_t;
 
 struct dap_enc_key;
diff --git a/crypto/dap_enc_msrln16.c b/crypto/dap_enc_msrln16.c
new file mode 100644
index 0000000000000000000000000000000000000000..f9f83424654bc8855b5391b019b01f4242868eff
--- /dev/null
+++ b/crypto/dap_enc_msrln16.c
@@ -0,0 +1,94 @@
+#include "dap_common.h"
+#include "dap_enc_msrln16.h"
+
+#include "liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h"
+
+#define LOG_TAG "dap_enc_msrln16"
+
+/**
+ * @brief dap_enc_msrln16_key_new_generate
+ * @param a_key
+ * @param a_size
+ */
+void dap_enc_msrln16_key_new_generate(dap_enc_key_t * a_key, size_t a_size)
+{
+
+}
+
+/**
+ * @brief dap_enc_msrln16_key_new_from_data
+ * @param a_key
+ * @param a_in
+ * @param a_in_size
+ */
+void dap_enc_msrln16_key_new_from_data(dap_enc_key_t * a_key, const void * a_in, size_t a_in_size)
+{
+
+}
+
+/**
+ * @brief dap_enc_msrln16_key_new_from_data_public
+ * @param a_key
+ * @param a_in
+ * @param a_in_size
+ */
+void dap_enc_msrln16_key_new_from_data_public(dap_enc_key_t * a_key, const void * a_in, size_t a_in_size)
+{
+
+}
+
+/**
+ * @brief dap_enc_msrln16_key_delete
+ * @param a_key
+ */
+void dap_enc_msrln16_key_delete(dap_enc_key_t *a_key)
+{
+
+}
+
+/**
+ * @brief dap_enc_msrln16_key_public_base64
+ * @param a_key
+ * @return
+ */
+char* dap_enc_msrln16_key_public_base64(dap_enc_key_t *a_key)
+{
+
+}
+
+/**
+ * @brief dap_enc_msrln16_key_public_raw
+ * @param a_key
+ * @param a_key_public
+ * @return
+ */
+size_t dap_enc_msrln16_key_public_raw(dap_enc_key_t *a_key, void ** a_key_public)
+{
+
+}
+
+/**
+ * @brief dap_enc_msrln16_decode
+ * @param a_key
+ * @param a_in
+ * @param a_in_size
+ * @param a_out
+ * @return
+ */
+size_t dap_enc_msrln16_decode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out)
+{
+
+}
+
+/**
+ * @brief dap_enc_msrln16_encode
+ * @param a_key
+ * @param a_in
+ * @param a_in_size
+ * @param a_out
+ * @return
+ */
+size_t dap_enc_msrln16_encode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out)
+{
+
+}
diff --git a/crypto/dap_enc_msrln16.h b/crypto/dap_enc_msrln16.h
new file mode 100644
index 0000000000000000000000000000000000000000..a694505eb28311411ed92e8ec1bba9572e3356ec
--- /dev/null
+++ b/crypto/dap_enc_msrln16.h
@@ -0,0 +1,19 @@
+#ifndef _DAP_ENC_MSRLN16_H_
+#define _DAP_ENC_MSRLN16_H_
+
+#include <stddef.h>
+
+typedef struct dap_enc_key dap_enc_key_t;
+
+void dap_enc_msrln16_key_new_generate(dap_enc_key_t * a_key, size_t a_size);
+void dap_enc_msrln16_key_new_from_data(dap_enc_key_t * a_key, const void * a_in, size_t a_in_size);
+void dap_enc_msrln16_key_new_from_data_public(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size);
+
+void dap_enc_msrln16_key_delete(dap_enc_key_t *a_key);
+
+size_t dap_enc_msrln16_key_public_raw(dap_enc_key_t *a_key, void ** a_key_public);
+
+size_t dap_enc_msrln16_decode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out);
+size_t dap_enc_msrln16_encode(dap_enc_key_t* a_key, const void * a_in, size_t a_in_size,void * a_out);
+
+#endif
diff --git a/crypto/liboqs/kex/kex.h b/crypto/liboqs/kex/kex.h
index 0decdf874b9a1a815738832f183f4a0b6ab479d1..02ab71edb49357e65337560345625a965190c8b5 100644
--- a/crypto/liboqs/kex/kex.h
+++ b/crypto/liboqs/kex/kex.h
@@ -9,10 +9,12 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#include <oqs/rand.h>
+//#include <oqs/rand.h> //беда с симлинками, посему так пока
+#include "../crypto/rand/rand.h"
 
 #if !defined(WINDOWS)
-#include <oqs/config.h>
+#include "../config.h"
+//#include <oqs/config.h>
 #endif
 
 enum OQS_KEX_alg_name {
diff --git a/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h b/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h
index ad1ee4f5202998afed40e13de1783d237e7767ab..77613a42e99356f61fda64706ba680ebda16c53d 100644
--- a/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h
+++ b/crypto/liboqs/kex_rlwe_msrln16/kex_rlwe_msrln16.h
@@ -9,8 +9,12 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#include <oqs/kex.h>
-#include <oqs/rand.h>
+#include "../kex/kex.h"
+#include "../crypto/rand/rand.h"
+//с симлинком беда какая-то, поэтому так пока
+
+/*#include <oqs/kex.h>
+#include <oqs/rand.h>*/
 
 OQS_KEX *OQS_KEX_rlwe_msrln16_new(OQS_RAND *rand);
 
diff --git a/http/dap_http_client_simple.c b/http/dap_http_client_simple.c
index 534d7c25845da9bf57d160bdd214faa8322ca85a..9a7c207af2e5945835071da959659c9b67d2290f 100644
--- a/http/dap_http_client_simple.c
+++ b/http/dap_http_client_simple.c
@@ -287,7 +287,7 @@ static void* dap_http_client_thread(void * arg)
                               case CURLE_COULDNT_RESOLVE_HOST: l_err_code = 3 ; log_it(L_ERROR, "Couldn't resolve destination address"); break;
                               case CURLE_OPERATION_TIMEDOUT: l_err_code = 4 ; log_it(L_ERROR, "HTTP request timeout"); break;
                               case CURLE_URL_MALFORMAT: l_err_code = 5 ; log_it(L_ERROR, "Wrong URL format in the outgoing request"); break;
-                              case CURLE_WEIRD_SERVER_REPLY: l_err_code = 6 ; log_it(L_WARNING, "Weird server reply"); break;
+                              //case CURLE_WEIRD_SERVER_REPLY: l_err_code = 6 ; log_it(L_WARNING, "Weird server reply"); break;
                               case CURLE_OK:{
                                 l_is_ok = true;
                                 log_it(L_DEBUG, "Response size %u",l_client_internal->response_size);