diff --git a/src/ClusterReader.c b/src/ClusterReader.c
index 0822263..2b795c6 100644
--- a/src/ClusterReader.c
+++ b/src/ClusterReader.c
@@ -5,8 +5,7 @@
 
 //clang-format off
 typedef struct {
-    PyObject_HEAD 
-    FILE *fp;
+    PyObject_HEAD FILE *fp;
     int n_left;
 } ClusterFileReader;
 //clang-format on
@@ -19,7 +18,7 @@ static int ClusterFileReader_init(ClusterFileReader *self, PyObject *args,
 
     // Parse file name, accepts string or pathlike objects
     const char *fname = NULL;
-    PyObject* buf;
+    PyObject *buf;
     Py_ssize_t len;
 
     if (!PyArg_ParseTuple(args, "O&", PyUnicode_FSConverter, &buf))
@@ -29,7 +28,7 @@ static int ClusterFileReader_init(ClusterFileReader *self, PyObject *args,
     self->fp = fopen(fname, "rb");
     self->n_left = 0;
 
-    //Keep the return code to not return before releasing buffer
+    // Keep the return code to not return before releasing buffer
     int rc = 0;
 
     // Raise python exception using information from errno
@@ -37,7 +36,7 @@ static int ClusterFileReader_init(ClusterFileReader *self, PyObject *args,
         PyErr_SetFromErrnoWithFilename(PyExc_OSError, fname);
         rc = -1;
     }
-    //Release buffer
+    // Release buffer
     Py_DECREF(buf);
 
     // Success or fail
@@ -57,76 +56,63 @@ static void ClusterFileReader_dealloc(ClusterFileReader *self) {
 }
 
 // read method
-static PyObject *ClusterFileReader_read(ClusterFileReader *self, PyObject *args) {
+static PyObject *ClusterFileReader_read(ClusterFileReader *self,
+                                        PyObject *args) {
 
     const int ndim = 1;
     Py_ssize_t size = 0;
-   PyObject *noise_obj;
-   if (!PyArg_ParseTuple(args, "nO", &size,&noise_obj)) {
-     PyErr_SetString(
-		      PyExc_TypeError,
-		      "Could not parse args.");
-     return NULL;
-   }
+    PyObject *noise_obj;
+    if (!PyArg_ParseTuple(args, "nO", &size, &noise_obj)) {
+        PyErr_SetString(PyExc_TypeError, "Could not parse args.");
+        return NULL;
+    }
 
     npy_intp dims[] = {size};
 
-
-
-
-
-
-
-
     // Create two numpy arrays from the passed objects, if possible numpy will
     // use the underlying buffer, otherwise it will create a copy, for example
     // if data type is different or we pass in a list. The
     // NPY_ARRAY_C_CONTIGUOUS flag ensures that we have contiguous memory.
-    PyObject *noise_array = PyArray_FROM_OTF(noise_obj, NPY_DOUBLE, NPY_ARRAY_C_CONTIGUOUS);
-    int nx=0,ny=0;
-    double *noise_map=NULL;
-
+    PyObject *noise_array =
+        PyArray_FROM_OTF(noise_obj, NPY_DOUBLE, NPY_ARRAY_C_CONTIGUOUS);
+    int nx = 0, ny = 0;
+    double *noise_map = NULL;
 
     // If parsing of a or b fails we throw an exception in Python
-    if (noise_array ) {
-        
-      int ndim_noise = PyArray_NDIM((PyArrayObject *)(noise_array));
-      npy_intp *noise_shape = PyArray_SHAPE((PyArrayObject *)(noise_array));
-    
-    
-    // For the C++ function call we need pointers (or another C++ type/data
-    // structure)
-    
-      noise_map = (double *)(PyArray_DATA((PyArrayObject *)(noise_array)));
+    if (noise_array) {
 
+        int ndim_noise = PyArray_NDIM((PyArrayObject *)(noise_array));
+        npy_intp *noise_shape = PyArray_SHAPE((PyArrayObject *)(noise_array));
 
+        // For the C++ function call we need pointers (or another C++ type/data
+        // structure)
 
-    /* for (int i=0; i< ndim_noise; i++) { */
-    /*   printf("Dimension %d size %d pointer \n",i,noise_shape[i], noise_map); */
-      
-    /* } */
+        noise_map = (double *)(PyArray_DATA((PyArrayObject *)(noise_array)));
 
-      if (ndim_noise==2) {
-	
-	nx=noise_shape[0];
-	ny=noise_shape[1];
-      
-	//	printf("Noise map found size %d %d %d\n",nx,ny,noise_map);
+        /* for (int i=0; i< ndim_noise; i++) { */
+        /*   printf("Dimension %d size %d pointer \n",i,noise_shape[i],
+         * noise_map); */
 
+        /* } */
 
-    } else {
-	nx=0;
-	if (ndim_noise==1) 
-	  nx=noise_shape[0];
-	ny=0;
-	noise_map = NULL;
-	//	printf("NO Noise map found %d %d %d %d\n",ndim_noise,nx,ny,noise_map);
+        if (ndim_noise == 2) {
+
+            nx = noise_shape[0];
+            ny = noise_shape[1];
+
+            //	printf("Noise map found size %d %d %d\n",nx,ny,noise_map);
+
+        } else {
+            nx = 0;
+            if (ndim_noise == 1)
+                nx = noise_shape[0];
+            ny = 0;
+            noise_map = NULL;
+            //	printf("NO Noise map found %d %d %d
+            //%d\n",ndim_noise,nx,ny,noise_map);
+        }
     }
 
-    }
-
-
-
     // Create an uninitialized numpy array
     PyObject *clusters = PyArray_SimpleNewFromDescr(ndim, dims, cluster_dt());
 
@@ -140,9 +126,10 @@ static PyObject *ClusterFileReader_read(ClusterFileReader *self, PyObject *args)
     // Here goes the looping, removing frame numbers etc.
     int n_read = 0;
     if (noise_map)
-      read_clusters_with_cut(self->fp, size, buf, &self->n_left,noise_map, nx, ny);
+        read_clusters_with_cut(self->fp, size, buf, &self->n_left, noise_map,
+                               nx, ny);
     else
-      read_clusters(self->fp, size, buf, &self->n_left);
+        read_clusters(self->fp, size, buf, &self->n_left);
 
     if (n_read != size) {
         // resize the array to match the number of read photons