diff --git a/bin/ntt.o b/bin/ntt.o
index 1c5835f63b95da0e851d4c8ecbb8cc26798ccf3d..2e280a44185091b194bf75c23a5bab6b053ee3de 100644
Binary files a/bin/ntt.o and b/bin/ntt.o differ
diff --git a/bin/pubkey.o b/bin/pubkey.o
index 9dd5a19a62f020e1c78b076adb02de9d8b16d558..b9353297bfbbfcc9ba00ad6778cb7c491e470c0a 100644
Binary files a/bin/pubkey.o and b/bin/pubkey.o differ
diff --git a/run b/run
index d75f40f1511082efe4456272f3f36ab09a9a4848..e52bfd1631a6ed728b52ed545bf60f12d3be10e1 100755
Binary files a/run and b/run differ
diff --git a/src/ntt.cpp b/src/ntt.cpp
index d681e78c4bf04baa9cdf4bb8cd404a719ad7b901..bd15d650ae152283436ac80f5099a09b89a11083 100644
--- a/src/ntt.cpp
+++ b/src/ntt.cpp
@@ -115,7 +115,7 @@ void NTT::_ntt(vector<int64_t> &in, int64_t w){
             points[k+N/2] = p2[k];
         }
 
-        if(1!=nBit){
+        if(i!=nBit){
             for(int k=0; k<N; k++){
                 in[k] = points[k];
             }
diff --git a/src/pubkey.cpp b/src/pubkey.cpp
index 50b26536c786b6143306ab8c81a82a63352a0d83..7759da4af655fd7d6c83b033bb648c3008e6462f 100644
--- a/src/pubkey.cpp
+++ b/src/pubkey.cpp
@@ -45,7 +45,7 @@ void PubKey::generateA(int degree, int64_t q){
 
 void PubKey::computeB(int q){
     Polynomial err = genE(a.degree, 1.0);
-    Polynomial temp = (a.scaleCoeff(-1.0)) * s + err;
+    Polynomial temp = (a.scaleCoeff(-1.0)) * s ;
     Polynomial res = temp.modCoeff(q);
 
     b = Polynomial(res.degree, res.coeffs);
diff --git a/test.cpp b/test.cpp
index e44a7222b6f46fd452d3b6ebf8637ddb39991ee2..3318bd644b9ddad7e86a54779218cd7fc7395dd1 100644
--- a/test.cpp
+++ b/test.cpp
@@ -20,12 +20,12 @@ dcomparr randomFill(int n){
 }
 
 int main(){
-    Encoder enc(8, 64.0);
-    dcomplex a1 = 3.0 + 4.0 *J; 
-    dcomplex a2 = 2.0 - 1.0*J;
-    dcomparr input(2);
-    input.arr[0] = a1;
-    input.arr[1] = a2;
+    // Encoder enc(8, 64.0);
+    // dcomplex a1 = 3.0 + 4.0 *J; 
+    // dcomplex a2 = 2.0 - 1.0*J;
+    // dcomparr input(2);
+    // input.arr[0] = a1;
+    // input.arr[1] = a2;
 
     // // dcomparr input(128);
     // // dcomplex a = 1.0 + 1.0*J;
@@ -33,8 +33,8 @@ int main(){
     // //     input.arr[i] = a;
     // // }
 
-    Polynomial pt = enc.encode(input);
-    pt.printPol();
+    // Polynomial pt = enc.encode(input);
+    // pt.printPol();
 
     int q0 = 67;
     int pl[6] = {61, 67, 71, 73, 79, 61};
@@ -168,7 +168,7 @@ int main(){
     //     if (error) break;
     // }
 
-    // for(int i=1; i<5; i++){
+    // for(int i=1; i<6; i++){
     //     int N = pow(2, i);
     //     Encoder enc(N*4, 64.0);
 
diff --git a/test.o b/test.o
index ebc303e410ea324c4f17110ebf22edebf2630133..0e43df3c066fa9c513bed0331216e418988b32f9 100644
Binary files a/test.o and b/test.o differ