diff --git a/unix/Makefile b/unix/Makefile
index bfd949754299f277bdc882eeaf8c1b7bd92ce1d9..ab68760546a5581b0d1ffcf8d130a2ee692e7f27 100644
--- a/unix/Makefile
+++ b/unix/Makefile
@@ -15,7 +15,6 @@ include ../py/py.mk
 
 INC =  -I.
 INC +=  -I..
-INC += -I$(PY_SRC)
 INC += -I$(BUILD)
 
 # compiler settings
diff --git a/unix/file.c b/unix/file.c
index 02b8aff186a09e520a5d6a989fdf0bff536dd2d9..b62154baaac76ded2e3fe4078daffc83c05a41a0 100644
--- a/unix/file.c
+++ b/unix/file.c
@@ -31,13 +31,9 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
-#include "stream.h"
+#include "py/nlr.h"
+#include "py/runtime.h"
+#include "py/stream.h"
 
 #ifdef _WIN32
 #define fsync _commit
diff --git a/unix/gccollect.c b/unix/gccollect.c
index 2c7b81918a44788bcb5387f7b3d9b3628fe3f7f6..ab20220d3fa735db15f71b16b388b6a67bb8a68a 100644
--- a/unix/gccollect.c
+++ b/unix/gccollect.c
@@ -25,11 +25,8 @@
  */
 
 #include <stdio.h>
-#include <stdint.h>
 
-#include "mpconfig.h"
-#include "misc.h"
-#include "gc.h"
+#include "py/gc.h"
 
 #if MICROPY_ENABLE_GC
 
diff --git a/unix/input.c b/unix/input.c
index 19ca649c9fe5a024434942240d583e1040a261db..626138b42e0b9d2b4bb3c47957df074b35a9384e 100644
--- a/unix/input.c
+++ b/unix/input.c
@@ -25,15 +25,11 @@
  */
 
 #include <stdio.h>
-#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
+#include "py/nlr.h"
+#include "py/obj.h"
 #include "input.h"
 
 #if MICROPY_USE_READLINE
diff --git a/unix/main.c b/unix/main.c
index d3ab53da6ea9a901d7ee1239ae34122576520629..0f1e26f51ce857c743914e0cfd5fbb8d4c0ee7f0 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -35,20 +35,17 @@
 #include <sys/types.h>
 #include <errno.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "obj.h"
-#include "parsehelper.h"
-#include "compile.h"
-#include "runtime0.h"
-#include "runtime.h"
-#include "builtin.h"
-#include "repl.h"
-#include "gc.h"
+#include "py/nlr.h"
+#include "py/compile.h"
+#include "py/parsehelper.h"
+#include "py/runtime.h"
+#include "py/builtin.h"
+#include "py/repl.h"
+#include "py/gc.h"
+#include "py/stackctrl.h"
+#include "py/pfenv.h"
 #include "genhdr/py-version.h"
 #include "input.h"
-#include "stackctrl.h"
-#include "pfenv.h"
 
 // Command line options, with their defaults
 STATIC bool compile_only = false;
diff --git a/unix/modffi.c b/unix/modffi.c
index d6d416a3e0df2e54ea7335eac626f6a414b945be..e0f2f3f27f3a84840cabf6bfc8d8c60055c23cc8 100644
--- a/unix/modffi.c
+++ b/unix/modffi.c
@@ -31,13 +31,9 @@
 #include <dlfcn.h>
 #include <ffi.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
-#include "binary.h"
+#include "py/nlr.h"
+#include "py/runtime.h"
+#include "py/binary.h"
 
 /*
  * modffi uses character codes to encode a value type, based on "struct"
diff --git a/unix/modos.c b/unix/modos.c
index 6efc7bc539846f920fdea983d36d170808953df3..21b9c6f6a1c96128b6b1017f9aea0d01f82f2863 100644
--- a/unix/modos.c
+++ b/unix/modos.c
@@ -31,13 +31,9 @@
 #include <errno.h>
 #include <stdlib.h>
 
-#include "mpconfig.h"
-#include "misc.h"
-#include "nlr.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
-#include "objtuple.h"
+#include "py/nlr.h"
+#include "py/runtime.h"
+#include "py/objtuple.h"
 
 #define RAISE_ERRNO(err_flag, error_val) \
     { if (err_flag == -1) \
diff --git a/unix/modsocket.c b/unix/modsocket.c
index 402695d65b3d4cc369788365e407c02ec41afd43..3982650f1b1936605cc8471d0d8d9606b853d8b9 100644
--- a/unix/modsocket.c
+++ b/unix/modsocket.c
@@ -38,16 +38,12 @@
 #include <netdb.h>
 #include <errno.h>
 
-#include "mpconfig.h"
-#include "nlr.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "objtuple.h"
-#include "objstr.h"
-#include "runtime.h"
-#include "stream.h"
-#include "builtin.h"
+#include "py/nlr.h"
+#include "py/objtuple.h"
+#include "py/objstr.h"
+#include "py/runtime.h"
+#include "py/stream.h"
+#include "py/builtin.h"
 
 /*
   The idea of this module is to implement reasonable minimum of
diff --git a/unix/modtermios.c b/unix/modtermios.c
index 0fa0e13947dbcb913d226710d2ce8acfffa59f6a..091e5e5f774b482041b942e9cac6ce246f1605c5 100644
--- a/unix/modtermios.c
+++ b/unix/modtermios.c
@@ -29,13 +29,9 @@
 #include <unistd.h>
 #include <errno.h>
 
-#include "mpconfig.h"
-#include "misc.h"
-#include "nlr.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
-#include "objlist.h"
+#include "py/nlr.h"
+#include "py/objlist.h"
+#include "py/runtime.h"
 
 #define RAISE_ERRNO(err_flag, error_val) \
     { if (err_flag == -1) \
diff --git a/unix/modtime.c b/unix/modtime.c
index 7325525aa13b0efa990467ac35ad236a2ea9df49..2efb7fab361c3da159647cf43b3de7b415385b0d 100644
--- a/unix/modtime.c
+++ b/unix/modtime.c
@@ -30,11 +30,7 @@
 #include <sys/time.h>
 #include <math.h>
 
-#include "mpconfig.h"
-#include "misc.h"
-#include "qstr.h"
-#include "obj.h"
-#include "runtime.h"
+#include "py/runtime.h"
 
 #ifdef _WIN32
 void msec_sleep_tv(struct timeval *tv) {