diff --git a/src/jsMain/kotlin/datasources/GSheet.kt b/src/jsMain/kotlin/datasources/GSheet.kt
index 768854f17f433fb26e496da1eb57ee57595c8858..08c689e2e5ee0daace6917272cbb024fae6faa1b 100644
--- a/src/jsMain/kotlin/datasources/GSheet.kt
+++ b/src/jsMain/kotlin/datasources/GSheet.kt
@@ -7,10 +7,9 @@ import gapi.sheets
 import kotlinx.browser.window
 import pekstuff.trimAsPrinciple
 import kotlin.coroutines.resume
-import kotlin.coroutines.resumeWithException
 import kotlin.coroutines.suspendCoroutine
 
-class GSheet private constructor(private val sheet: sheets.Spreadsheet): DataSource, NoteDataSource {
+class GSheet private constructor(sheet: sheets.Spreadsheet): DataSource, NoteDataSource {
     companion object {
         private val filterList = listOf(
             "szumma", "színes belépő"
diff --git a/src/jsMain/kotlin/gapi/Gapi.kt b/src/jsMain/kotlin/gapi/Gapi.kt
index 34cb16a10f3a19f64ab44644436b36f82f12117f..8818aa7475917f88a24d6d90d2b76a4b366f7b9b 100644
--- a/src/jsMain/kotlin/gapi/Gapi.kt
+++ b/src/jsMain/kotlin/gapi/Gapi.kt
@@ -3,7 +3,6 @@ package gapi
 import androidx.compose.runtime.NoLiveLiterals
 import kotlinx.browser.document
 import kotlinx.browser.localStorage
-import kotlinx.browser.window
 import org.w3c.dom.HTMLScriptElement
 import org.w3c.dom.get
 import org.w3c.dom.set
@@ -11,7 +10,7 @@ import kotlin.coroutines.resume
 import kotlin.coroutines.resumeWithException
 import kotlin.coroutines.suspendCoroutine
 
-object gapiObj: client.AuthType {
+object GapiInitObj: client.AuthType {
     override var apiKey: String? = ApiKey
     override var discoveryDocs: Array<String>? = arrayOf("https://sheets.googleapis.com/\$discovery/rest?version=v4")
 }
@@ -122,14 +121,13 @@ private fun inited() {
             // Skip display of account chooser and consent dialog for an existing session.
             tokenClient.requestAccessToken(js("{prompt: ''}"))
         }
-        Unit
     }
 
     logOut = {
         val token = gapi.client.getToken()
         if (token !== null) {
-            google.accounts.oauth2.revoke(token.access_token);
-            gapi.client.setToken("");
+            google.accounts.oauth2.revoke(token.access_token)
+            gapi.client.setToken("")
             isSignedIn = false
         }
         handleLoginEvent()
@@ -139,7 +137,7 @@ private fun inited() {
 }
 
 private suspend fun initGapi() = suspendCoroutine<Unit> { cont ->
-    gapi.client.init(gapiObj).then({
+    gapi.client.init(GapiInitObj).then({
         gapiInited = true
         cont.resume(Unit)
     }, { error ->
diff --git a/src/jsMain/kotlin/pekstuff/PekDelay.kt b/src/jsMain/kotlin/pekstuff/PekDelay.kt
index 87ac7548e336157b12fc03bdf6cfdb387a75e905..a2b53e5bb1255771a34c754b05e1d69e1987f99d 100644
--- a/src/jsMain/kotlin/pekstuff/PekDelay.kt
+++ b/src/jsMain/kotlin/pekstuff/PekDelay.kt
@@ -12,7 +12,7 @@ object PekDelay {
     private val saveIconElem = document.getElementById("save-icon") as HTMLDivElement
     private val isUpdating get() = saveIconElem.style.display == "block"
 
-    private val continuations = mutableListOf<Continuation<Unit>>()
+    private val continuations = mutableSetOf<Continuation<Unit>>()
     private var skips = 0
 
     fun skipNext() {
@@ -21,7 +21,7 @@ object PekDelay {
 
     private val observer = MutationObserver { _, _ ->
         if (!isUpdating) {
-            val conts = continuations.toList()
+            val conts = continuations.toSet()
             conts.forEach { it.resume(Unit) }
             continuations.removeAll(conts)
         }
diff --git a/src/jsMain/kotlin/pekstuff/PekNote.kt b/src/jsMain/kotlin/pekstuff/PekNote.kt
index f45e64ec9a6af432452faa93b2a0b918deaecd13..f269845d034e3b9c40013a118725d2c52d905b5c 100644
--- a/src/jsMain/kotlin/pekstuff/PekNote.kt
+++ b/src/jsMain/kotlin/pekstuff/PekNote.kt
@@ -7,14 +7,14 @@ import org.w3c.dom.HTMLInputElement
 import org.w3c.dom.HTMLTextAreaElement
 
 object PekNote {
-    val noteNameCnt get() = document.querySelector("#comment-container > div.uk-padding.uk-text-center")
-    val noteName get() = noteNameCnt?.textContent
+    private val noteNameCnt get() = document.querySelector("#comment-container > div.uk-padding.uk-text-center")
+    private val noteName get() = noteNameCnt?.textContent
 
-    val editBtn get() =
+    private val editBtn get() =
         document.querySelectorAll("#comment-container > article.uk-comment > header.uk-comment-header > div.uk-comment-meta > a")
             .toList().lastOrNull() as? HTMLAnchorElement
-    val noteCnt get() = document.getElementById("comment-textarea") as? HTMLTextAreaElement
-    val btn get() = document.querySelector("#comment-container > div > form.edit_point_detail_comment > article.uk-comment > div.uk-clearfix > div.uk-float-right > input.uk-button") as? HTMLInputElement
+    private val noteCnt get() = document.getElementById("comment-textarea") as? HTMLTextAreaElement
+    private val btn get() = document.querySelector("#comment-container > div > form.edit_point_detail_comment > article.uk-comment > div.uk-clearfix > div.uk-float-right > input.uk-button") as? HTMLInputElement
     fun getNote() = noteCnt!!.value
     suspend fun setNote(value: String) {
         val edit = editBtn
diff --git a/src/jsMain/kotlin/pekstuff/PekTable.kt b/src/jsMain/kotlin/pekstuff/PekTable.kt
index 21cad2bda02099684f7ae1e28fdc0b9f87fac148..0f0e9a316f466d01d5db2828b664c116a57e66ab 100644
--- a/src/jsMain/kotlin/pekstuff/PekTable.kt
+++ b/src/jsMain/kotlin/pekstuff/PekTable.kt
@@ -1,8 +1,10 @@
 package pekstuff
 
 import kotlinx.browser.document
-import kotlinx.browser.window
-import kotlinx.coroutines.*
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
 import org.w3c.dom.Element
 import org.w3c.dom.HTMLInputElement
 import org.w3c.dom.HTMLTableElement
diff --git a/src/jsMain/kotlin/pontozas.kt b/src/jsMain/kotlin/pontozas.kt
index 987f3de3c83d3fbd1ea98f677591a0b5881181a3..c6ed8e42e2d715aa4c9745250069d96349cdcc86 100644
--- a/src/jsMain/kotlin/pontozas.kt
+++ b/src/jsMain/kotlin/pontozas.kt
@@ -1,7 +1,6 @@
 import androidx.compose.runtime.*
 import gapi.loadAndInit
 import kotlinx.browser.document
-import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
 import org.jetbrains.compose.web.attributes.disabled
 import org.jetbrains.compose.web.dom.Button
diff --git a/src/jsMain/kotlin/processing/Process.kt b/src/jsMain/kotlin/processing/Process.kt
index 457c46b918ed65b52fd55ff5caf7322c3d66a722..b7053b93f34db15ea98a5c6b5f922ec1ddacfca6 100644
--- a/src/jsMain/kotlin/processing/Process.kt
+++ b/src/jsMain/kotlin/processing/Process.kt
@@ -2,7 +2,6 @@ package processing
 
 import datasources.DataSource
 import datasources.NoteDataSource
-import kotlinx.coroutines.delay
 import pekstuff.PekDelay
 import pekstuff.PekNote
 import pekstuff.PekTable
@@ -71,8 +70,8 @@ fun List<String>.findClosestMatch(
         val needleInHaystack = currParts.count { part -> string.contains(part) }
         val haystackInNeedle = parts.count { part -> it.contains(part) }
 
-        it to when {
-            it == string -> Int.MAX_VALUE
+        it to when (it) {
+            string -> Int.MAX_VALUE
             else -> max(needleInHaystack, haystackInNeedle)
         }
     }.filter { it.second != 0 }.maxByOrNull { it.second }?.first
diff --git a/src/jsMain/kotlin/ui/CSVModal.kt b/src/jsMain/kotlin/ui/CSVModal.kt
index 068cfdd247c44982c352d7648f18315177ce692e..bcd78f5f37598316f86038b9eab66973b6b44718 100644
--- a/src/jsMain/kotlin/ui/CSVModal.kt
+++ b/src/jsMain/kotlin/ui/CSVModal.kt
@@ -14,11 +14,12 @@ import org.jetbrains.compose.web.dom.*
 import org.w3c.dom.HTMLElement
 import processing.process
 
-private object csvModal: ModalType {
+private object CSVModal: ModalType {
     override val title = "CSV import"
     override val tutorial = "Válassz ki egy CSV filet, ami megfelel a következő követelményeknek:"
 
-    override @Composable fun content(
+    @Composable
+    override fun content(
         closeId: String,
         setState: (State) -> Unit,
         hint: String,
@@ -79,5 +80,5 @@ private object csvModal: ModalType {
 
 @Composable
 fun csvModal(setState: (State) -> Unit) {
-    modal(csvModal, setState)
+    modal(CSVModal, setState)
 }
\ No newline at end of file
diff --git a/src/jsMain/kotlin/ui/SheetsModal.kt b/src/jsMain/kotlin/ui/SheetsModal.kt
index 03064da993fc55566ca3913b23c3047c14e6efd7..23777305437b7fe585f72e79f77745acb1a5daab 100644
--- a/src/jsMain/kotlin/ui/SheetsModal.kt
+++ b/src/jsMain/kotlin/ui/SheetsModal.kt
@@ -15,7 +15,8 @@ private object SheetsModal: ModalType {
     override val title = "Google Sheets import"
     override val tutorial = "Jelentkezz be, majd illesz be egy linket egy Google Sheetre, ami megfelel a következő követelményeknek:"
 
-    override @Composable fun content(
+    @Composable
+    override fun content(
         closeId: String,
         setState: (State) -> Unit,
         hint: String,