diff --git a/__pycache__/main.cpython-39.pyc b/__pycache__/main.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5c7c327ec7c3d31eb016f60d8852e45ceb1cff18
Binary files /dev/null and b/__pycache__/main.cpython-39.pyc differ
diff --git a/main.py b/main.py
index 659d363686b912a0c23da6c6e04a462284c90478..8681d78ee9bc4082e1bbe6063f68d66b12e0b114 100644
--- a/main.py
+++ b/main.py
@@ -11,10 +11,8 @@ xy, dx = linspace(0, 1, nn, retstep=True)
 c = 2 * random.rand(nn, nn) - 1     
 
 
-def cahn_hilliard_fdiff(it): 
-    """Cahn-Hilliard integration for it iterations using finite differences mehtod."""
-
-    global c 
+def cahn_hilliard_fdiff(it, c): 
+    """Cahn-Hilliard integration for it iterations using finite differences method."""
 
     cp = zeros((nn + 2, nn + 2))
     f = zeros((nn + 2, nn + 2))
@@ -31,32 +29,40 @@ def cahn_hilliard_fdiff(it):
         cp[1:-1, 1:-1] = cp[1:-1, 1:-1] + (dt / dx**2) * (f[0:-2, 1:-1] + f[2:, 1:-1] + f[1:-1, 0:-2] + f[1:-1, 2:] - 4 * f[1:-1, 1:-1]) 
 
     c = cp[1:-1, 1:-1]
-    
 
-def cahn_hilliard_spectral(it):
-    """Cahn-Hilliard integration for it iterations using fft spectral mehtod."""
+    return c
+    
 
-    global c 
+def cahn_hilliard_spectral(it, c):
+    """Cahn-Hilliard integration for it iterations using fft spectral method."""
 
     # wavenumbers
-    k = power(2 * pi * fft.fftfreq(nn, d=dx), 2)
-    kk = array([k,]*nn) + array([k,]*nn).transpose()
+    kr = power(2 * pi * fft.rfftfreq(nn, d=dx), 2)
+    kc = power(2 * pi * fft.fftfreq(nn, d=dx), 2)
+    kk = array([kr,]*nn) + array([kc,]*int((nn/2)+1)) .transpose()
 
     for _ in range(it): 
         
-        c = c + dt * fft.ifft2(-kk * fft.fft2( c**3 - c - a**2 * fft.ifft2(-kk * fft.fft2(c)).real)).real
+        c = c + dt * fft.irfft2(-kk * fft.rfft2( c**3 - c - a**2 * fft.irfft2(-kk * fft.rfft2(c)).real)).real
+
+    return c
 
 
 if __name__ == "__main__":
 
     tic = time.time()
     
-    # cahn_hilliard_fdiff(it)
-    cahn_hilliard_spectral(it)
+    c1 = cahn_hilliard_fdiff(it, c)
+    c2 = cahn_hilliard_spectral(it, c)
 
     toc = time.time() - tic
     
     print(f"Elapsed time is {toc} seconds.")
-
-    plt.contourf(xy, xy, c, cmap="jet")
+    
+    fig, (ax1, ax2) = plt.subplots(1, 2)
+    fig.suptitle(f"Cahn-Hilliard integration for {it} iterations ")
+    ax1.contourf(xy, xy, c1, cmap="jet")
+    ax1.set_title("Finite differences method")
+    ax2.contourf(xy, xy, c2 , cmap="jet")
+    ax2.set_title("Spectral method")
     plt.show()