diff --git a/examples/main.c b/examples/main.c
index 5c6698e00cb802fc1965ddf176da690083044598..b23991115efc0f7fca378fb1a8d0ba7e14c26087 100644
--- a/examples/main.c
+++ b/examples/main.c
@@ -82,19 +82,19 @@ int main(int argc, char *argv[]) {
   int nr_nodes = 1, myrank = 0;
   FILE *file_thread;
   int with_outputs = 1;
-  struct initpart ipart;
+  struct partition initial_partition;
 #if defined(WITH_MPI) && defined(HAVE_METIS)
-  enum repart_type reparttype = REPART_METIS_BOTH;
+  enum repartition_type reparttype = REPART_METIS_BOTH;
 #endif
 
   /* Default initial partition type is grid for shared memory and when
    * METIS is not available. */
-  ipart.type = INITPART_GRID;
-  ipart.grid[0] = 1;
-  ipart.grid[1] = 1;
-  ipart.grid[2] = 1;
+  initial_partition.type = INITPART_GRID;
+  initial_partition.grid[0] = 1;
+  initial_partition.grid[1] = 1;
+  initial_partition.grid[2] = 1;
 #if defined(WITH_MPI) && defined(HAVE_METIS)
-  ipart.type = INITPART_METIS_NOWEIGHT;
+  initial_partition.type = INITPART_METIS_NOWEIGHT;
 #endif
 
 /* Choke on FP-exceptions. */
@@ -121,9 +121,11 @@ int main(int argc, char *argv[]) {
   fflush(stdout);
 
   /* Set a default grid so that grid[0]*grid[1]*grid[2] == nr_nodes. */
-  factor(nr_nodes, &ipart.grid[0], &ipart.grid[1]);
-  factor(nr_nodes / ipart.grid[1], &ipart.grid[0], &ipart.grid[2]);
-  factor(ipart.grid[0] * ipart.grid[1], &ipart.grid[1], &ipart.grid[0]);
+  factor(nr_nodes, &initial_partition.grid[0], &initial_partition.grid[1]);
+  factor(nr_nodes / initial_partition.grid[1], &initial_partition.grid[0],
+         &initial_partition.grid[2]);
+  factor(initial_partition.grid[0] * initial_partition.grid[1],
+         &initial_partition.grid[1], &initial_partition.grid[0]);
 #endif
 
   /* Greeting message */
@@ -193,21 +195,22 @@ int main(int argc, char *argv[]) {
          * followed by three numbers defining the grid. */
         switch (optarg[0]) {
           case 'g':
-            ipart.type = INITPART_GRID;
+            initial_partition.type = INITPART_GRID;
             if (strlen(optarg) > 2) {
-              if (sscanf(optarg, "g %i %i %i", &ipart.grid[0], &ipart.grid[1],
-                         &ipart.grid[2]) != 3) 
+              if (sscanf(optarg, "g %i %i %i", &initial_partition.grid[0],
+                         &initial_partition.grid[1],
+                         &initial_partition.grid[2]) != 3)
                 error("Error parsing grid.");
             }
             break;
           case 'm':
-            ipart.type = INITPART_METIS_NOWEIGHT;
+            initial_partition.type = INITPART_METIS_NOWEIGHT;
             break;
           case 'w':
-            ipart.type = INITPART_METIS_WEIGHT;
+            initial_partition.type = INITPART_METIS_WEIGHT;
             break;
           case 'v':
-            ipart.type = INITPART_VECTORIZE;
+            initial_partition.type = INITPART_VECTORIZE;
             break;
         }
         break;
@@ -270,10 +273,12 @@ int main(int argc, char *argv[]) {
 #if defined(WITH_MPI)
   if (myrank == 0) {
     message("Running with %i thread(s) per node.", nr_threads);
-    message("Using initial partition %s", initpart_name[ipart.type]);
-    if (ipart.type == INITPART_GRID) 
-      message("grid set to [ %i %i %i ].", ipart.grid[0], ipart.grid[1], ipart.grid[2]);
-    message("Using %s repartitioning", repart_name[reparttype]);
+    message("Using initial partition %s",
+            initial_partition_name[initial_partition.type]);
+    if (initial_partition.type == INITPART_GRID)
+      message("grid set to [ %i %i %i ].", initial_partition.grid[0],
+              initial_partition.grid[1], initial_partition.grid[2]);
+    message("Using %s repartitioning", repartition_name[reparttype]);
 
     if (nr_nodes == 1) {
       message("WARNING: you are running with one MPI rank.");
@@ -407,7 +412,7 @@ int main(int argc, char *argv[]) {
 
 #ifdef WITH_MPI
   /* Split the space. */
-  engine_split(&e, &ipart);
+  engine_split(&e, &initial_partition);
   engine_redistribute(&e);
 #endif
 
diff --git a/src/engine.c b/src/engine.c
index 2d11f061262c588b402e5f88a85a40ae1daf01bf..272d5c0c9ff07b98befed3c68810d4c909e78c57 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -52,8 +52,8 @@
 #include "hydro.h"
 #include "minmax.h"
 #include "part.h"
-#include "timers.h"
 #include "partition.h"
+#include "timers.h"
 
 const char *engine_policy_names[12] = {
     "none",          "rand",   "steal",        "keep",
@@ -297,7 +297,7 @@ void engine_repartition(struct engine *e) {
 #if defined(WITH_MPI) && defined(HAVE_METIS)
 
   /* Clear the repartition flag. */
-  enum repart_type reparttype = e->forcerepart;
+  enum repartition_type reparttype = e->forcerepart;
   e->forcerepart = REPART_NONE;
 
   /* Nothing to do if only using a single node. Also avoids METIS
@@ -305,8 +305,8 @@ void engine_repartition(struct engine *e) {
   if (e->nr_nodes == 1) return;
 
   /* Do the repartitioning. */
-  part_repart(reparttype, e->nodeID, e->nr_nodes, e->s, e->sched.tasks, 
-              e->sched.nr_tasks);
+  partition_repartition(reparttype, e->nodeID, e->nr_nodes, e->s,
+                        e->sched.tasks, e->sched.nr_tasks);
 
   /* Now comes the tricky part: Exchange particles between all nodes.
      This is done in two steps, first allreducing a matrix of
@@ -1730,16 +1730,16 @@ void engine_makeproxies(struct engine *e) {
  * @brief Split the underlying space into regions and assign to separate nodes.
  *
  * @param e The #engine.
- * @param ipart structure defining the cell partition technique
+ * @param initial_partition structure defining the cell partition technique
  */
 
-void engine_split(struct engine *e, struct initpart *ipart) {
+void engine_split(struct engine *e, struct partition *initial_partition) {
 
 #ifdef WITH_MPI
   struct space *s = e->s;
 
   /* Do the initial partition of the cells. */
-  part_part(ipart, e->nodeID, e->nr_nodes, s);
+  partition_initial_partition(initial_partition, e->nodeID, e->nr_nodes, s);
 
   /* Make the proxies. */
   engine_makeproxies(e);
@@ -1830,7 +1830,7 @@ void engine_init(struct engine *e, struct space *s, float dt, int nr_threads,
 
       int home = numa_node_of_cpu(sched_getcpu()), half = nr_cores / 2;
       bool done = false, swap_hyperthreads = hyperthreads_present();
-      if (swap_hyperthreads && nodeID == 0) 
+      if (swap_hyperthreads && nodeID == 0)
 	message("prefer physical cores to hyperthreads");
 
       while (!done) {
diff --git a/src/engine.h b/src/engine.h
index 0567efa686503e5619624fcf86f6358ee685f94f..13c7ec40612713d3771543150763da6924144c1a 100644
--- a/src/engine.h
+++ b/src/engine.h
@@ -150,7 +150,7 @@ struct engine {
 
   /* Force the engine to rebuild? */
   int forcerebuild;
-  enum repart_type forcerepart;
+  enum repartition_type forcerepart;
 
   /* How many steps have we done with the same set of tasks? */
   int tasks_age;
@@ -178,7 +178,7 @@ void engine_print(struct engine *e);
 void engine_init_particles(struct engine *e);
 void engine_step(struct engine *e);
 void engine_maketasks(struct engine *e);
-void engine_split(struct engine *e, struct initpart *ipart);
+void engine_split(struct engine *e, struct partition *initial_partition);
 int engine_exchange_strays(struct engine *e, int offset, int *ind, int N);
 void engine_rebuild(struct engine *e);
 void engine_repartition(struct engine *e);
diff --git a/src/partition.c b/src/partition.c
index 7f56a84a7040103b18107827890a623319a87b48..f1fe2b2a8436994de13501dc4ce6714ec1d2e92d 100644
--- a/src/partition.c
+++ b/src/partition.c
@@ -31,11 +31,11 @@
 #include "../config.h"
 
 /* Standard headers. */
+#include <math.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <math.h>
-#include <values.h>
 #include <strings.h>
+#include <values.h>
 
 /* MPI headers. */
 #ifdef WITH_MPI
@@ -47,17 +47,17 @@
 #endif
 
 /* Local headers. */
-#include "space.h"
-#include "partition.h"
 #include "const.h"
-#include "error.h"
 #include "debug.h"
+#include "error.h"
+#include "partition.h"
+#include "space.h"
 
 /* Maximum weight used for METIS. */
 #define metis_maxweight 10000.0f
 
 /* Simple descriptions of initial partition types for reports. */
-const char *initpart_name[] = {
+const char *initial_partition_name[] = {
     "gridded cells",
     "vectorized point associated cells",
     "METIS particle weighted cells",
@@ -65,7 +65,7 @@ const char *initpart_name[] = {
 };
 
 /* Simple descriptions of repartition types for reports. */
-const char *repart_name[] = {
+const char *repartition_name[] = {
     "no",
     "METIS edge and vertex time weighted cells",
     "METIS particle count vertex weighted cells",
@@ -293,7 +293,7 @@ static void split_metis(struct space *s, int nregions, int *celllist) {
  * @brief Partition the given space into a number of connected regions.
  *
  * Split the space using METIS to derive a partitions using the
- * given edge and vertex weights. If no weights are given then an 
+ * given edge and vertex weights. If no weights are given then an
  * unweighted partition is performed.
  *
  * @param s the space of cells to partition.
@@ -735,8 +735,9 @@ static void repart_vertex_metis(struct space *s, int nodeID, int nr_nodes) {
  * @param tasks the completed tasks from the last engine step for our node.
  * @param nr_tasks the number of tasks.
  */
-void part_repart(enum repart_type reparttype, int nodeID, int nr_nodes,
-                 struct space *s, struct task *tasks, int nr_tasks) {
+void partition_repartition(enum repartition_type reparttype, int nodeID,
+                           int nr_nodes, struct space *s, struct task *tasks,
+                           int nr_tasks) {
 
 #if defined(WITH_MPI) && defined(HAVE_METIS)
 
@@ -781,30 +782,33 @@ void part_repart(enum repart_type reparttype, int nodeID, int nr_nodes,
  * scheme fails. In that case we fallback to a vectorised scheme, that is
  * guaranteed to work provided we have more cells than nodes.
  *
- * @param ipart the type of partitioning to try.
+ * @param initial_partition the type of partitioning to try.
  * @param nodeID our nodeID.
  * @param nr_nodes the number of nodes.
  * @param s the space of cells.
  */
-void part_part(struct initpart *ipart, int nodeID, int nr_nodes,
-               struct space *s) {
+void partition_initial_partition(struct partition *initial_partition,
+                                 int nodeID, int nr_nodes, struct space *s) {
 
   /* Geometric grid partitioning. */
-  if (ipart->type == INITPART_GRID) {
+  if (initial_partition->type == INITPART_GRID) {
     int j, k;
     int ind[3];
     struct cell *c;
 
     /* If we've got the wrong number of nodes, fail. */
-    if (nr_nodes != ipart->grid[0] * ipart->grid[1] * ipart->grid[2])
+    if (nr_nodes != initial_partition->grid[0] * initial_partition->grid[1]
+        * initial_partition->grid[2])
       error("Grid size does not match number of nodes.");
 
     /* Run through the cells and set their nodeID. */
     // message("s->dim = [%e,%e,%e]", s->dim[0], s->dim[1], s->dim[2]);
     for (k = 0; k < s->nr_cells; k++) {
       c = &s->cells[k];
-      for (j = 0; j < 3; j++) ind[j] = c->loc[j] / s->dim[j] * ipart->grid[j];
-      c->nodeID = ind[0] + ipart->grid[0] * (ind[1] + ipart->grid[1] * ind[2]);
+      for (j = 0; j < 3; j++)
+          ind[j] = c->loc[j] / s->dim[j] * initial_partition->grid[j];
+      c->nodeID = ind[0] + initial_partition->grid[0] *
+                 (ind[1] + initial_partition->grid[1] * ind[2]);
       // message("cell at [%e,%e,%e]: ind = [%i,%i,%i], nodeID = %i", c->loc[0],
       // c->loc[1], c->loc[2], ind[0], ind[1], ind[2], c->nodeID);
     }
@@ -813,13 +817,13 @@ void part_part(struct initpart *ipart, int nodeID, int nr_nodes,
     if (!check_complete(s, (nodeID == 0), nr_nodes)) {
       if (nodeID == 0)
         message("Grid initial partition failed, using a vectorised partition");
-      ipart->type = INITPART_VECTORIZE;
-      part_part(ipart, nodeID, nr_nodes, s);
+      initial_partition->type = INITPART_VECTORIZE;
+      partition_initial_partition(initial_partition, nodeID, nr_nodes, s);
       return;
     }
 
-  } else if (ipart->type == INITPART_METIS_WEIGHT ||
-             ipart->type == INITPART_METIS_NOWEIGHT) {
+  } else if (initial_partition->type == INITPART_METIS_WEIGHT ||
+             initial_partition->type == INITPART_METIS_NOWEIGHT) {
 #if defined(WITH_MPI) && defined(HAVE_METIS)
     /* Simple k-way partition selected by METIS using cell particle counts as
      * weights or not. Should be best when starting with a inhomogeneous dist.
@@ -828,7 +832,7 @@ void part_part(struct initpart *ipart, int nodeID, int nr_nodes,
     /* Space for particles per cell counts, which will be used as weights or
      * not. */
     int *weights = NULL;
-    if (ipart->type == INITPART_METIS_WEIGHT) {
+    if (initial_partition->type == INITPART_METIS_WEIGHT) {
         if ((weights = (int *)malloc(sizeof(int) * s->nr_cells)) == NULL)
         error("Failed to allocate weights buffer.");
       bzero(weights, sizeof(int) * s->nr_cells);
@@ -876,12 +880,13 @@ void part_part(struct initpart *ipart, int nodeID, int nr_nodes,
     /* And apply to our cells */
     split_metis(s, nr_nodes, celllist);
 
-    /* It's not known if this can fail, but check for this before proceeding. */
+    /* It's not known if this can fail, but check for this before
+     * proceeding. */
     if (!check_complete(s, (nodeID == 0), nr_nodes)) {
       if (nodeID == 0)
         message("METIS initial partition failed, using a vectorised partition");
-      ipart->type = INITPART_VECTORIZE;
-      part_part(ipart, nodeID, nr_nodes, s);
+      initial_partition->type = INITPART_VECTORIZE;
+      partition_initial_partition(initial_partition, nodeID, nr_nodes, s);
     }
 
     if (weights != NULL) free(weights);
@@ -890,7 +895,7 @@ void part_part(struct initpart *ipart, int nodeID, int nr_nodes,
     error("SWIFT was not compiled with METIS support");
 #endif
 
-  } else if (ipart->type == INITPART_VECTORIZE) {
+  } else if (initial_partition->type == INITPART_VECTORIZE) {
 
 #if defined(WITH_MPI)
     /* Vectorised selection, guaranteed to work for samples less than the
diff --git a/src/partition.h b/src/partition.h
index 9c06cc9cc740994ebaa58e287196f8af72edb95c..492af04ac9ef017ceddabb410ee53496e64bb018 100644
--- a/src/partition.h
+++ b/src/partition.h
@@ -23,7 +23,7 @@
 #include "task.h"
 
 /* Initial partitioning types. */
-enum initpart_type {
+enum partition_type {
   INITPART_GRID = 0,
   INITPART_VECTORIZE,
   INITPART_METIS_WEIGHT,
@@ -31,16 +31,15 @@ enum initpart_type {
 };
 
 /* Simple descriptions of types for reports. */
-extern const char *initpart_name[];
+extern const char *initial_partition_name[];
 
 /* The selected initial partition type and any related metadata. */
-struct initpart {
-  enum initpart_type type;
+struct partition {
+  enum partition_type type;
   int grid[3];
 };
-
 /* Repartition type to use. */
-enum repart_type {
+enum repartition_type {
   REPART_NONE = 0,
   REPART_METIS_BOTH,
   REPART_METIS_VERTEX,
@@ -49,11 +48,12 @@ enum repart_type {
 };
 
 /* Simple descriptions of types for reports. */
-extern const char *repart_name[];
+extern const char *repartition_name[];
 
-void part_repart(enum repart_type reparttype, int nodeID, int nr_nodes, 
-                 struct space *s, struct task *tasks, int nr_tasks);
-void part_part(struct initpart *ipart, int nodeID, int nr_nodes,
-               struct space *s);
+void partition_repartition(enum repartition_type reparttype, int nodeID,
+                           int nr_nodes, struct space *s,
+                           struct task *tasks, int nr_tasks);
+void partition_initial_partition(struct partition *initial_partition,
+                                 int nodeID, int nr_nodes, struct space *s);
 
 #endif /* SWIFT_PARTITION_H */