diff --git a/native/jni/Android.mk b/native/jni/Android.mk
index 44474df4671466ee84892193ec5d0e5e0c4be9f1..b0ddfda41a9f865c8fb09b1c2af1378902cb86fd 100644
--- a/native/jni/Android.mk
+++ b/native/jni/Android.mk
@@ -46,10 +46,10 @@ LATIN_IME_JNI_SRC_FILES := \
     jni_common.cpp
 
 LATIN_IME_CORE_SRC_FILES := \
-    correction.cpp \
-    unigram_dictionary.cpp \
     suggest/core/suggest.cpp \
     $(addprefix obsolete/, \
+        correction.cpp \
+        unigram_dictionary.cpp \
         words_priority_queue.cpp) \
     $(addprefix suggest/core/dicnode/, \
         dic_node.cpp \
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index 935cb0daa926486f9d98e20473c2a277a3c747b5..34764c337741e4e5579fbd57ec474a96353d1751 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -31,9 +31,9 @@
 
 #include "com_android_inputmethod_latin_BinaryDictionary.h"
 
-#include "correction.h"
 #include "jni.h"
 #include "jni_common.h"
+#include "obsolete/correction.h"
 #include "suggest/core/dictionary/binary_dictionary_format.h"
 #include "suggest/core/dictionary/binary_dictionary_info.h"
 #include "suggest/core/dictionary/dictionary.h"
diff --git a/native/jni/src/correction.cpp b/native/jni/src/obsolete/correction.cpp
similarity index 99%
rename from native/jni/src/correction.cpp
rename to native/jni/src/obsolete/correction.cpp
index feed5622b923016be1d873a6f66686ec6470d826..e6c577f855f1d20a83c2adfac5e03384ee12a5a0 100644
--- a/native/jni/src/correction.cpp
+++ b/native/jni/src/obsolete/correction.cpp
@@ -18,8 +18,8 @@
 
 #include <cmath>
 
-#include "correction.h"
 #include "defines.h"
+#include "obsolete/correction.h"
 #include "suggest/core/layout/proximity_info_state.h"
 #include "suggest/core/layout/touch_position_correction_utils.h"
 #include "suggest/policyimpl/utils/edit_distance.h"
diff --git a/native/jni/src/correction.h b/native/jni/src/obsolete/correction.h
similarity index 99%
rename from native/jni/src/correction.h
rename to native/jni/src/obsolete/correction.h
index 84d6429ba1cc50e2d1dd1b9008201aec544887d9..710220d6679ab3f9846b45a7e072b37dacfd5958 100644
--- a/native/jni/src/correction.h
+++ b/native/jni/src/obsolete/correction.h
@@ -19,8 +19,8 @@
 
 #include <cstring> // for memset()
 
-#include "correction_state.h"
 #include "defines.h"
+#include "obsolete/correction_state.h"
 #include "suggest/core/layout/proximity_info_state.h"
 #include "utils/char_utils.h"
 
diff --git a/native/jni/src/correction_state.h b/native/jni/src/obsolete/correction_state.h
similarity index 100%
rename from native/jni/src/correction_state.h
rename to native/jni/src/obsolete/correction_state.h
diff --git a/native/jni/src/unigram_dictionary.cpp b/native/jni/src/obsolete/unigram_dictionary.cpp
similarity index 99%
rename from native/jni/src/unigram_dictionary.cpp
rename to native/jni/src/obsolete/unigram_dictionary.cpp
index 39b3d4918520ff31c1d2863be7abe9dfe7d3a4ff..df6d425d39d33b48cce054a7bc8274a96d70fe3d 100644
--- a/native/jni/src/unigram_dictionary.cpp
+++ b/native/jni/src/obsolete/unigram_dictionary.cpp
@@ -19,6 +19,7 @@
 #define LOG_TAG "LatinIME: unigram_dictionary.cpp"
 
 #include "defines.h"
+#include "obsolete/unigram_dictionary.h"
 #include "obsolete/words_priority_queue.h"
 #include "obsolete/words_priority_queue_pool.h"
 #include "suggest/core/dictionary/binary_dictionary_info.h"
@@ -29,7 +30,6 @@
 #include "suggest/core/dictionary/terminal_attributes.h"
 #include "suggest/core/layout/proximity_info.h"
 #include "utils/char_utils.h"
-#include "unigram_dictionary.h"
 
 namespace latinime {
 
diff --git a/native/jni/src/unigram_dictionary.h b/native/jni/src/obsolete/unigram_dictionary.h
similarity index 100%
rename from native/jni/src/unigram_dictionary.h
rename to native/jni/src/obsolete/unigram_dictionary.h
diff --git a/native/jni/src/obsolete/words_priority_queue.h b/native/jni/src/obsolete/words_priority_queue.h
index 54e8007a2acee6e29d0da1079a156eb61cc0fc30..337e3e32b04f300820bfba8a39d70c2d74f3331a 100644
--- a/native/jni/src/obsolete/words_priority_queue.h
+++ b/native/jni/src/obsolete/words_priority_queue.h
@@ -20,8 +20,8 @@
 #include <cstring> // for memcpy()
 #include <queue>
 
-#include "correction.h"
 #include "defines.h"
+#include "obsolete/correction.h"
 
 namespace latinime {
 
diff --git a/native/jni/src/suggest/core/dictionary/dictionary.cpp b/native/jni/src/suggest/core/dictionary/dictionary.cpp
index aa8356addf420694fdc7a9db4b07d2c27ee310d3..e5956c75415567e988915a3f222213be5bbce591 100644
--- a/native/jni/src/suggest/core/dictionary/dictionary.cpp
+++ b/native/jni/src/suggest/core/dictionary/dictionary.cpp
@@ -22,6 +22,7 @@
 #include <stdint.h>
 
 #include "defines.h"
+#include "obsolete/unigram_dictionary.h"
 #include "suggest/core/dictionary/bigram_dictionary.h"
 #include "suggest/core/dictionary/binary_format.h"
 #include "suggest/core/session/dic_traverse_session.h"
@@ -29,7 +30,6 @@
 #include "suggest/core/suggest_options.h"
 #include "suggest/policyimpl/gesture/gesture_suggest_policy_factory.h"
 #include "suggest/policyimpl/typing/typing_suggest_policy_factory.h"
-#include "unigram_dictionary.h"
 
 namespace latinime {