diff --git a/main.py b/main.py
index 3d67fcb006e8fc01e9a698711bd9f92600a0e43b..622362bd2cf122f3027f0da2c8bec2126a89dafd 100644
--- a/main.py
+++ b/main.py
@@ -1,10 +1,7 @@
 import numpy as np
 from timeit import default_timer as timer
-
-from parameters import *
-from observables import *
-#from metropolis import *
-from sampling import *
+from parameters import t_min, t_max, nt, eqSteps, mcSteps, Ns
+from sampling import finite_ising
 
 T = np.linspace(t_min, t_max, nt)
 Ns = np.array(Ns)
@@ -15,6 +12,7 @@ for N in Ns:
     result = finite_ising(N,mcSteps,eqSteps,T)
     end = timer()
     
-    print('Time the code takes to run for a lattice size of  ' + str(N)  + ': ' + str((end - start) / 60) + ' minutes.')
+    print('Time the code takes to run for a lattice of size ' + str(N),
+      + ': ' + str((end - start) / 60) + ' minutes.')
     
-    np.savetxt("data/data_ising_" + str(N) + ".csv" , result.T, delimiter=",")    
+    np.savetxt("data/data_ising_" + str(N) + ".csv" , result.T, delimiter=",")    
\ No newline at end of file
diff --git a/metropolis.py b/metropolis.py
index 86510849323321d2d077572f877e64792c7b694c..7a993aacdb2ce147e17cfaa78921cd9a351e89aa 100644
--- a/metropolis.py
+++ b/metropolis.py
@@ -1,14 +1,32 @@
 import numpy as np
 
 def pi_0(N):
+    """Genera un arreglo NxN de numpy con valores 1 o -1 escogidos aleatoriamente.
+    
+    Argumentos:
+
+    N -- int
+        tamaño de la red
+    """
     Pi_0 = 2*np.random.randint(2 , size = (N,N)) - 1
     return Pi_0
 
 def MC_metropolis(arreglo, beta, N):
+    """Ejecuta un paso de monte carlo sobre una configuración de espines
+    
+    Argumentos:
+
+    arreglo --  arreglo NxN de numpy
+        valores del espin en cada sitio
+    beta -- flotante
+        inverso de la temperatura en unidades donde kb = J = 1
+    N -- int
+    """
     for i in range(0, 2 * N**2):
         a, b = np.random.randint(0,N), np.random.randint(0,N)
         rand_spin = arreglo[a, b]
-        vecinos = arreglo[(a+1)%N, b] + arreglo[a, (b+1)%N] + arreglo[(a-1)%N, b] + arreglo[a, (b-1)%N]
+        vecinos = arreglo[(a+1)%N, b] + arreglo[a, (b+1)%N] + \
+                    arreglo[(a-1)%N, b] + arreglo[a, (b-1)%N]
         delta_energia = 2 * rand_spin * vecinos
         if delta_energia < 0:
             arreglo[a,b] *= -1
diff --git a/observables.py b/observables.py
index 8185e9f05519167c84f93deb2e3bc91c505cf3d1..0436f5b0567f7c7644fc73b3a6325b79044ba81c 100644
--- a/observables.py
+++ b/observables.py
@@ -1,14 +1,31 @@
 import numpy as np
 
 def energia(arreglo, N):
+    """Devuelve la energia de una configuración de espines.
+    
+    Argumentos:
+
+    arreglo -- arreglo NxN de numpy 
+        valores del espin en cada sitio
+    N -- entero
+        tamaño de la red
+    """
     energia = 0
     for i in range(0,N):
         for j in range(0,N):
             spin = arreglo[i,j]
-            vecinos = arreglo[(i+1)%N, j] + arreglo[i, (j+1)%N] + arreglo[(i-1)%N, j] + arreglo[i, (j-1)%N]
+            vecinos = arreglo[(i+1)%N, j] + arreglo[i, (j+1)%N] + \
+                        arreglo[(i-1)%N, j] + arreglo[i, (j-1)%N]
             energia += - spin * vecinos
     return energia / 2
 
 def magnetizacion(arreglo):
+    """Devuelve la magnetización de una configuración de espines.
+    
+    Argumentos:
+
+    arreglo --  arreglo NxN de numpy
+        valores del espin en cada sitio
+    """
     magnetizacion = np.sum(arreglo)
     return abs(magnetizacion)
\ No newline at end of file
diff --git a/sampling.py b/sampling.py
index a61892e14e9f7fc05117e726a660612d386936eb..fe952e46aef26ff677b4945fd598806d9fec5034 100644
--- a/sampling.py
+++ b/sampling.py
@@ -1,13 +1,26 @@
 import numpy as np
 
-from parameters import *
-from observables import *
-from metropolis import *
+from observables import energia, magnetizacion
+from metropolis import pi_0, MC_metropolis
 
 def finite_ising(N,mcSteps,eqSteps,T):
+    """Devuelve los observables físicos para los valores de temperatura 
+    y tamaño de la red dados.
+    
+    Argumentos:
+
+    N -- entero
+        tamaño de la red
+    eqSteps -- entero
+        numero de pasos de Monte Carlo para termalización
+    mcSteps -- entero
+        numero de pasos de Monte Carlo para realizar el muestreo
+    T -- arreglo de numpy
+        conjunto de temperaturas para las que se calcularan las cantidades fisicas
+    """
     
     nt = len(T)
-    E,M,C,X,U = np.zeros(nt), np.zeros(nt), np.zeros(nt), np.zeros(nt), np.zeros(nt)#, np.zeros(nt)
+    E,M,C,X,U = np.zeros(nt), np.zeros(nt), np.zeros(nt), np.zeros(nt), np.zeros(nt)
     N2 = N*N
 
     for t in range(nt):
@@ -17,21 +30,13 @@ def finite_ising(N,mcSteps,eqSteps,T):
         
         if t > 1.5 and t < 4.5:
             eqSteps_p = eqSteps
-            for i in range(eqSteps_p):   # esto es supuestamente para llevarlo al equilibrio
+            for i in range(eqSteps_p):   
                 arreglo = MC_metropolis(arreglo, beta, N)
-                #magn = magnetizacion(arreglo)
-                #energ = energia(arreglo)
-                #full_M.append(magn/N2)
-                #full_E.append(energ)
         else:
-            for i in range(eqSteps):   # esto es supuestamente para llevarlo al equilibrio
+            for i in range(eqSteps):  
                 arreglo = MC_metropolis(arreglo, beta, N)
-                #magn = magnetizacion(arreglo)
-                #energ = energia(arreglo)
-                #full_M.append(magn/N2)
-                #full_E.append(energ)
                 
-        for i in range(mcSteps):   # y aquí supuestamente el sistema se está desenvolviendo en el equilibrio
+        for i in range(mcSteps): 
             arreglo = MC_metropolis(arreglo,beta, N)
             energ = energia(arreglo, N)
             magn = magnetizacion(arreglo)