diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7605085bc920a61ff1011a9d6edf1705df9f0005..ca5440e7b4faa70f162146202051171d3b211626 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -278,7 +278,7 @@ endif()
 add_subdirectory(third_party)
 add_subdirectory(cfg)
 add_subdirectory(connector)
-add_subdirectory(core)
+add_subdirectory(src)
 add_subdirectory(mod)
 add_subdirectory(client)
 add_subdirectory(test)
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
index e0707856bd8670c4eaf6a5554520f78c85c5cbc6..1409637f72cf6c27cf37f8e3bc49df5c8d1aa923 100644
--- a/client/CMakeLists.txt
+++ b/client/CMakeLists.txt
@@ -5,7 +5,7 @@ function(tarantool_client client_name)
 	set (client_sources ${ARGV})
 	list(REMOVE_ITEM client_sources ${client_name})
 	add_executable(${client_name} ${client_sources}
-		       ${CMAKE_SOURCE_DIR}/core/errcode.c)
+		       ${CMAKE_SOURCE_DIR}/src/errcode.c)
 	set (client_libs tntnet tntsql tnt)
 	set_target_properties(${client_name} PROPERTIES COMPILE_FLAGS "${core_cflags}")
 	target_link_libraries (${client_name} ${client_libs})
diff --git a/mod/CMakeLists.txt b/mod/CMakeLists.txt
index 7b548f01742f5f713ed1120c2869c760cf713b7b..6ce3c083e84baff3f5904a31508ee140b86d31bd 100644
--- a/mod/CMakeLists.txt
+++ b/mod/CMakeLists.txt
@@ -9,7 +9,7 @@ function(tarantool_module mod)
       ${module_sources}
       ${CMAKE_SOURCE_DIR}/cfg/tarantool_${mod}_cfg.c)
 
-  add_library(lt${mod} STATIC ${recompiled_core_sources})
+  add_library(lt${mod} STATIC ${recompiled_sources})
   set_target_properties(lt${mod} PROPERTIES COMPILE_FLAGS
     "${core_cflags} ${GCOV_C_FLAGS} -DTARANTOOL_CONFIG='<cfg/tarantool_${mod}_cfg.h>'")
   add_dependencies(lt${mod} generate_headers generate_admin_m)
diff --git a/core/CMakeLists.txt b/src/CMakeLists.txt
similarity index 83%
rename from core/CMakeLists.txt
rename to src/CMakeLists.txt
index 87cc0b0ac448bf014973163f3969ae42cf1cbe81..a64ef18c93e35093b60489c2fdfa328ce80115a6 100644
--- a/core/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -41,15 +41,15 @@ target_link_libraries(ev m rt)
 # require engineers who do not modify .rl files to have Ragel
 # installed.
 #
-add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/core/admin.m
+add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/src/admin.m
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-    COMMAND ${RAGEL} -G2 core/admin.rl -o core/admin.m
-    DEPENDS ${CMAKE_SOURCE_DIR}/core/admin.rl)
+    COMMAND ${RAGEL} -G2 src/admin.rl -o src/admin.m
+    DEPENDS ${CMAKE_SOURCE_DIR}/src/admin.rl)
 
-add_custom_target(generate_admin_m DEPENDS ${CMAKE_SOURCE_DIR}/core/admin.m)
+add_custom_target(generate_admin_m DEPENDS ${CMAKE_SOURCE_DIR}/src/admin.m)
 # do not randomly try to re-generate admin.m after a fresh checkout
 execute_process(COMMAND ${CMAKE_COMMAND} -E touch_nocreate
-    ${CMAKE_SOURCE_DIR}/core/admin.m)
+    ${CMAKE_SOURCE_DIR}/src/admin.m)
 
 #
 # Do not clean admin.m, memcached.m or other
@@ -64,14 +64,14 @@ set_source_files_properties(cpu_feature.m
 #
 # Used by modules.
 #
-set (recompiled_core_sources
-     ${CMAKE_SOURCE_DIR}/core/tarantool.m
-     ${CMAKE_SOURCE_DIR}/core/tarantool_lua.m
-     ${CMAKE_SOURCE_DIR}/core/say.m
-     ${CMAKE_SOURCE_DIR}/core/assoc.m
-     ${CMAKE_SOURCE_DIR}/core/admin.m
-     ${CMAKE_SOURCE_DIR}/core/replication.m
-     ${CMAKE_SOURCE_DIR}/core/fiber.m PARENT_SCOPE)
+set (recompiled_sources
+     ${CMAKE_SOURCE_DIR}/src/tarantool.m
+     ${CMAKE_SOURCE_DIR}/src/tarantool_lua.m
+     ${CMAKE_SOURCE_DIR}/src/say.m
+     ${CMAKE_SOURCE_DIR}/src/assoc.m
+     ${CMAKE_SOURCE_DIR}/src/admin.m
+     ${CMAKE_SOURCE_DIR}/src/replication.m
+     ${CMAKE_SOURCE_DIR}/src/fiber.m PARENT_SCOPE)
 
 set (common_sources tbuf.m palloc.m util.m
     salloc.m pickle.m coro.m stat.m log_io.m cpu_feature.m crc32.c
diff --git a/core/admin.m b/src/admin.m
similarity index 100%
rename from core/admin.m
rename to src/admin.m
diff --git a/core/admin.rl b/src/admin.rl
similarity index 100%
rename from core/admin.rl
rename to src/admin.rl
diff --git a/core/assoc.m b/src/assoc.m
similarity index 100%
rename from core/assoc.m
rename to src/assoc.m
diff --git a/core/coro.m b/src/coro.m
similarity index 100%
rename from core/coro.m
rename to src/coro.m
diff --git a/core/cpu_feature.m b/src/cpu_feature.m
similarity index 100%
rename from core/cpu_feature.m
rename to src/cpu_feature.m
diff --git a/core/crc32.c b/src/crc32.c
similarity index 100%
rename from core/crc32.c
rename to src/crc32.c
diff --git a/core/errcode.c b/src/errcode.c
similarity index 100%
rename from core/errcode.c
rename to src/errcode.c
diff --git a/core/errinj.m b/src/errinj.m
similarity index 100%
rename from core/errinj.m
rename to src/errinj.m
diff --git a/core/exception.m b/src/exception.m
similarity index 100%
rename from core/exception.m
rename to src/exception.m
diff --git a/core/fiber.m b/src/fiber.m
similarity index 100%
rename from core/fiber.m
rename to src/fiber.m
diff --git a/core/iproto.m b/src/iproto.m
similarity index 100%
rename from core/iproto.m
rename to src/iproto.m
diff --git a/core/latch.m b/src/latch.m
similarity index 100%
rename from core/latch.m
rename to src/latch.m
diff --git a/core/log_io.m b/src/log_io.m
similarity index 100%
rename from core/log_io.m
rename to src/log_io.m
diff --git a/core/log_io_remote.m b/src/log_io_remote.m
similarity index 100%
rename from core/log_io_remote.m
rename to src/log_io_remote.m
diff --git a/core/palloc.m b/src/palloc.m
similarity index 100%
rename from core/palloc.m
rename to src/palloc.m
diff --git a/core/pickle.m b/src/pickle.m
similarity index 100%
rename from core/pickle.m
rename to src/pickle.m
diff --git a/core/replication.m b/src/replication.m
similarity index 100%
rename from core/replication.m
rename to src/replication.m
diff --git a/core/salloc.m b/src/salloc.m
similarity index 100%
rename from core/salloc.m
rename to src/salloc.m
diff --git a/core/say.m b/src/say.m
similarity index 100%
rename from core/say.m
rename to src/say.m
diff --git a/core/stat.m b/src/stat.m
similarity index 100%
rename from core/stat.m
rename to src/stat.m
diff --git a/core/tarantool.m b/src/tarantool.m
similarity index 100%
rename from core/tarantool.m
rename to src/tarantool.m
diff --git a/core/tarantool_ev.c b/src/tarantool_ev.c
similarity index 100%
rename from core/tarantool_ev.c
rename to src/tarantool_ev.c
diff --git a/core/tarantool_lua.m b/src/tarantool_lua.m
similarity index 100%
rename from core/tarantool_lua.m
rename to src/tarantool_lua.m
diff --git a/core/tbuf.m b/src/tbuf.m
similarity index 100%
rename from core/tbuf.m
rename to src/tbuf.m
diff --git a/core/trace.m b/src/trace.m
similarity index 100%
rename from core/trace.m
rename to src/trace.m
diff --git a/core/util.m b/src/util.m
similarity index 100%
rename from core/util.m
rename to src/util.m