diff --git a/build.gradle.kts b/build.gradle.kts
index 3383c41..28dec83 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,3 +1,4 @@
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
 import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
 import ru.landgrafhomyak.kotlin.kmp_gradle_build_helper.*
 import ru.landgrafhomyak.kotlin.kmp_gradle_build_helper.plugin.xomrk
@@ -14,11 +15,10 @@ buildscript {
 }
 
 group = "ru.landgrafhomyak.utility"
-version = "0.1"
+version = "0.5"
 
 repositories {
 	mavenCentral()
-	maven("https://maven.landgrafhomyak.ru/")
 }
 
 xomrk {
@@ -26,16 +26,72 @@ xomrk {
 		setCompatibilityWithKotlin(KotlinVersion.KOTLIN_2_0)
 		optInContracts()
 		explicitApi()
+		noWarnExpectActual()
+		warningsAsErrors()
 
 		defineAllMultiplatformTargets()
 
+		jvmToolchain(8)
+		jvm {
+			withJava()
+
+			compilations.configureEach {
+				compileJavaTaskProvider?.configure {
+					targetCompatibility = "1.8"
+				}
+				compileTaskProvider.configure {
+					compilerOptions {
+						jvmTarget = JvmTarget.JVM_1_8
+					}
+				}
+			}
+
+			tasks.named { t -> t == "${this@jvm.name}Test" }.configureEach {
+				this as Test
+				useTestNG()
+			}
+		}
+
 		sourceSets {
-			commonMain {
+			// if use kotlin("stdlib") gitea ui brokes at paragraph with dependency versions
+			val kotlinStdlibDependency = "org.jetbrains.kotlin:kotlin-stdlib:${this@kotlin.coreLibrariesVersion}"
+
+			val commonMain by getting {
 				dependencies {
+					compileOnly(kotlinStdlibDependency)
 					implementation("org.jetbrains.kotlinx:atomicfu:0.27.0")
 					implementation("ru.landgrafhomyak.utility:highlevel-try-finally:0.5")
 				}
 			}
+			val jvmMain by getting {
+				dependencies {
+					compileOnly(kotlinStdlibDependency)
+				}
+			}
+
+			val nonJvmMain by creating {
+				dependsOn(commonMain)
+				dependencies {
+					implementation(kotlinStdlibDependency)
+				}
+			}
+
+			jvmTest {
+				dependencies {
+					implementation("org.testng:testng:7.5.1")
+				}
+			}
+
+			configureEach {
+				when {
+					// commonMain !in dependsOn -> return@configureEach
+					!name.endsWith("Main") -> return@configureEach
+					this@configureEach === commonMain -> return@configureEach
+					this@configureEach === jvmMain -> return@configureEach
+					this@configureEach === nonJvmMain -> return@configureEach
+				}
+				dependsOn(nonJvmMain)
+			}
 		}
 	}