diff --git a/src/Makefile.am b/src/Makefile.am
index c71cbbbbd1b1463a61e8b138fb85525d74ebbe03..f682834e95d2bd2417cc38adea95ad1337baa08b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -45,8 +45,8 @@ AM_SOURCES = space.c runner.c queue.c task.c cell.c engine.c \
 
 # Include files for distribution, not installation.
 noinst_HEADERS = atomic.h cycle.h error.h inline.h kernel.h vector.h \
-	runner_iact_legacy.h runner_iact_grav.h runner_doiact.h \
-	runner_doiact_grav.h units.h intrinsics.h
+		 runner_doiact.h runner_doiact_grav.h units.h intrinsics.h \
+		 hydro.h gravity.h
 
 # Sources and flags for regular library
 libswiftsim_la_SOURCES = $(AM_SOURCES)
diff --git a/src/engine.c b/src/engine.c
index 4d017a5a63bf8303fd73dbc6752c83b28837fcbd..12fa647a6aabcae8aa5961f073c366b7d378aa16 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -55,12 +55,6 @@
 #include "part.h"
 #include "timers.h"
 
-#ifdef LEGACY_GADGET2_SPH
-#include "runner_iact_legacy.h"
-#else
-#include "runner_iact.h"
-#endif
-
 const char *engine_policy_names[10] = {
     "none",   "rand",     "steal",     "keep", "block",
     "fix_dt", "multi_dt", "cpu_tight", "mpi",  "numa_affinity"};
diff --git a/src/gravity.h b/src/gravity.h
index 390d529f945380e51bc5e1bb4ede8fba1081132f..0f28055b071c7010d327b0cd355f7dab4e4bd528 100644
--- a/src/gravity.h
+++ b/src/gravity.h
@@ -24,5 +24,6 @@
 /* So far only one model here */
 /* Straight-forward import */
 #include "./gravity/Default/gravity.h"
+#include "runner_iact_grav.h"
 
 #endif
diff --git a/src/gravity/Default/gravity.h b/src/gravity/Default/gravity.h
index cd7a7d6a1594362a536731475785594b486f9eb5..6e739546e1ebaedb948fa1d795bc72317d7af45f 100644
--- a/src/gravity/Default/gravity.h
+++ b/src/gravity/Default/gravity.h
@@ -16,6 +16,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  ******************************************************************************/
+
+#include <float.h>
+
 /**
  * @brief Computes the gravity time-step of a given particle
  *
diff --git a/src/hydro.h b/src/hydro.h
index 19b5e7a2b46f5c5182229c0574af98abcb55208f..c57c60d696105c94af70ad1b24fce197163ce698 100644
--- a/src/hydro.h
+++ b/src/hydro.h
@@ -24,8 +24,10 @@
 /* Import the right functions */
 #ifdef LEGACY_GADGET2_SPH
 #include "./hydro/Gadget2/hydro.h"
+#include "./hydro/Gadget2/hydro_iact.h"
 #else
 #include "./hydro/Default/hydro.h"
+#include "./hydro/Default/hydro_iact.h"
 #endif
 
 #endif
diff --git a/src/runner_iact.h b/src/hydro/Default/hydro_iact.h
similarity index 100%
rename from src/runner_iact.h
rename to src/hydro/Default/hydro_iact.h
diff --git a/src/runner_iact_legacy.h b/src/hydro/Gadget2/hydro_iact.h
similarity index 100%
rename from src/runner_iact_legacy.h
rename to src/hydro/Gadget2/hydro_iact.h
diff --git a/src/runner.c b/src/runner.c
index adf740b01339c32f8d560c5869fa87dde21f5c72..98f957441292f3c6e51406e299ad76dcfc01b25c 100644
--- a/src/runner.c
+++ b/src/runner.c
@@ -45,14 +45,6 @@
 #include "hydro.h"
 #include "gravity.h"
 
-/* Include the right variant of the SPH interactions */
-#ifdef LEGACY_GADGET2_SPH
-#include "runner_iact_legacy.h"
-#else
-#include "runner_iact.h"
-#endif
-#include "runner_iact_grav.h"
-
 /* Orientation of the cell pairs */
 const float runner_shift[13 * 3] = {
     5.773502691896258e-01, 5.773502691896258e-01,  5.773502691896258e-01,
diff --git a/src/swift.h b/src/swift.h
index 1b7d86c769bb33f2677d81a25c286d88cbc2782c..95b0abba00cda61fd0ac278f307e3737771c710a 100644
--- a/src/swift.h
+++ b/src/swift.h
@@ -31,6 +31,8 @@
 #include "debug.h"
 #include "engine.h"
 #include "error.h"
+#include "gravity.h"
+#include "hydro.h"
 #include "lock.h"
 #include "map.h"
 #include "multipole.h"
@@ -48,11 +50,5 @@
 #include "tools.h"
 #include "version.h"
 
-#ifdef LEGACY_GADGET2_SPH
-#include "runner_iact_legacy.h"
-#else
-#include "runner_iact.h"
-#endif
-#include "runner_iact_grav.h"
 
 #endif /* SWIFT_SWIFT_H */