diff --git a/meta/count_nmodes.py b/meta/count_nmodes.py
index daf9d0fc311cdf9ad358e1042163b6faf4593d63..19af4ab332067ba72758bbc5244b33c8ea569dc0 100644
--- a/meta/count_nmodes.py
+++ b/meta/count_nmodes.py
@@ -1,25 +1,32 @@
 import numpy as np
 
 def count_expensive(fk0, fk1):
-    kcomponent = np.arange(-fk1-1, fk1+2, 1).astype(np.float)
+    kcomponent = np.arange(-np.floor(fk1)-1, np.floor(fk1)+2, 1).astype(np.float)
     ksize = (kcomponent[:, None, None]**2 +
              kcomponent[None, :, None]**2 +
              kcomponent[None, None, :]**2)**.5
+    #print(ksize[0])
 
     good_indices = np.where(np.logical_and(
         ksize >= fk0,
         ksize <= fk1))
     #print(ksize[good_indices])
     #print(good_indices[0].shape)
-    return good_indices[0].shape[0]
+    return np.unique(ksize[good_indices].flatten(), return_counts = True)
 
 def main():
-    for ff in [[2, 4],
-               [1.5, 3],
-               [1, 2],
-               [1.5, 2.5],
-               [1.5, 2.3]]:
-        print(1 / ff[1], ff, count_expensive(ff[0], ff[1]))
+    for ff in [[1, 2],
+               [1.4, 2.3],
+               [1.4, 2.2]]:
+        modes, counts = count_expensive(ff[0], ff[1])
+        nmodes = np.sum(counts)
+        print(1 / ff[1], ff, nmodes)
+        modes_str  = ''
+        counts_str = ''
+        for ii in range(counts.shape[0]):
+            modes_str += '{0:>5g}\t'.format(modes[ii])
+            counts_str += '{0:>5g}\t'.format(counts[ii])
+        print(modes_str + '\n' + counts_str + '\n')
     return None
 
 if __name__ == '__main__':