diff --git a/src/ja/manga1000/build.gradle b/src/ja/manga1000/build.gradle
index 2a57f49df..d5e7551ec 100644
--- a/src/ja/manga1000/build.gradle
+++ b/src/ja/manga1000/build.gradle
@@ -1,9 +1,9 @@
 ext {
     extName = 'Manga1000'
     extClass = '.Manga1000'
-    themePkg = 'fmreader'
+    themePkg = 'liliana'
     baseUrl = 'https://manga1000.top'
-    overrideVersionCode = 2
+    overrideVersionCode = 9
 }
 
 apply from: "$rootDir/common.gradle"
diff --git a/src/ja/manga1000/src/eu/kanade/tachiyomi/extension/ja/manga1000/Manga1000.kt b/src/ja/manga1000/src/eu/kanade/tachiyomi/extension/ja/manga1000/Manga1000.kt
index 1186e3b8c..b1dd88434 100644
--- a/src/ja/manga1000/src/eu/kanade/tachiyomi/extension/ja/manga1000/Manga1000.kt
+++ b/src/ja/manga1000/src/eu/kanade/tachiyomi/extension/ja/manga1000/Manga1000.kt
@@ -1,77 +1,5 @@
 package eu.kanade.tachiyomi.extension.ja.manga1000
 
-import eu.kanade.tachiyomi.multisrc.fmreader.FMReader
-import eu.kanade.tachiyomi.network.GET
-import eu.kanade.tachiyomi.network.asObservableSuccess
-import eu.kanade.tachiyomi.source.model.Page
-import eu.kanade.tachiyomi.source.model.SChapter
-import eu.kanade.tachiyomi.source.model.SManga
-import eu.kanade.tachiyomi.util.asJsoup
-import okhttp3.Request
-import org.jsoup.nodes.Document
-import rx.Observable
-import java.util.Calendar
+import eu.kanade.tachiyomi.multisrc.liliana.Liliana
 
-class Manga1000 : FMReader("Manga1000", "https://manga1000.top", "ja") {
-
-    override val infoElementSelector = "div.row div.row"
-
-    // source is picky about URL format
-    private fun mangaRequest(sortBy: String, page: Int): Request {
-        return GET("$baseUrl/manga-list.html?listType=pagination&page=$page&artist=&author=&group=&m_status=&name=&genre=&ungenre=&magazine=&sort=$sortBy&sort_type=DESC", headers)
-    }
-
-    override fun popularMangaRequest(page: Int): Request = mangaRequest("views", page)
-
-    override fun latestUpdatesRequest(page: Int): Request = mangaRequest("last_update", page)
-
-    override fun fetchChapterList(manga: SManga): Observable<List<SChapter>> {
-        val slug = manga.url.substringAfter("manga-").substringBefore(".html")
-
-        return client.newCall(GET("$baseUrl/app/manga/controllers/cont.Listchapter.php?slug=$slug", headers))
-            .asObservableSuccess()
-            .map { res ->
-                res.asJsoup().select(".at-series a").map {
-                    SChapter.create().apply {
-                        name = it.select(".chapter-name").text()
-                        url = it.attr("abs:href").substringAfter("controllers")
-                        date_upload = parseChapterDate(it.select(".chapter-time").text())
-                    }
-                }
-            }
-    }
-
-    private fun parseChapterDate(date: String): Long {
-        val value = date.split(' ')[dateValueIndex].toInt()
-        val chapterDate = Calendar.getInstance().apply {
-            set(Calendar.SECOND, 0)
-            set(Calendar.MILLISECOND, 0)
-        }
-
-        when (date.split(' ')[dateWordIndex]) {
-            "mins", "minutes" -> chapterDate.add(Calendar.MINUTE, value * -1)
-            "hours" -> chapterDate.add(Calendar.HOUR_OF_DAY, value * -1)
-            "days" -> chapterDate.add(Calendar.DATE, value * -1)
-            "weeks" -> chapterDate.add(Calendar.DATE, value * 7 * -1)
-            "months" -> chapterDate.add(Calendar.MONTH, value * -1)
-            "years" -> chapterDate.add(Calendar.YEAR, value * -1)
-            else -> return 0
-        }
-
-        return chapterDate.timeInMillis
-    }
-
-    override fun pageListParse(document: Document): List<Page> {
-        return document.select("script:containsData(imgsChapter)")
-            .html()
-            .substringAfter("(")
-            .substringBefore(",")
-            .let { cid ->
-                client.newCall(GET("$baseUrl/app/manga/controllers/cont.Showimage.php?cid=$cid", headers)).execute().asJsoup()
-            }
-            .select(".lazyload")
-            .mapIndexed { i, e ->
-                Page(i, "", e.attr("abs:data-src"))
-            }
-    }
-}
+class Manga1000 : Liliana("Manga1000", "https://manga1000.top", "ja")