diff --git a/core-kotlin-2/README.md b/core-kotlin-2/README.md
index 5a443c1831..89e30bc5fe 100644
--- a/core-kotlin-2/README.md
+++ b/core-kotlin-2/README.md
@@ -4,9 +4,6 @@ This module contains articles about core Kotlin.
### Relevant articles:
-- [Void Type in Kotlin](https://www.baeldung.com/kotlin-void-type)
-- [How to use Kotlin Range Expressions](https://www.baeldung.com/kotlin-ranges)
-- [Creating a Kotlin Range Iterator on a Custom Object](https://www.baeldung.com/kotlin-custom-range-iterator)
- [Kotlin Scope Functions](https://www.baeldung.com/kotlin-scope-functions)
- [Kotlin Annotations](https://www.baeldung.com/kotlin-annotations)
- [Split a List into Parts in Kotlin](https://www.baeldung.com/kotlin-split-list-into-parts)
diff --git a/core-kotlin-modules/core-kotlin-lang-2/README.md b/core-kotlin-modules/core-kotlin-lang-2/README.md
new file mode 100644
index 0000000000..e64a39cb9b
--- /dev/null
+++ b/core-kotlin-modules/core-kotlin-lang-2/README.md
@@ -0,0 +1,13 @@
+## Core Kotlin Lang
+
+This module contains articles about core features in the Kotlin language.
+
+### Relevant articles:
+- [Kotlin return, break, continue Keywords](https://www.baeldung.com/kotlin-return-break-continue)
+- [Infix Functions in Kotlin](https://www.baeldung.com/kotlin-infix-functions)
+- [Lambda Expressions in Kotlin](https://www.baeldung.com/kotlin-lambda-expressions)
+- [Creating Java static final Equivalents in Kotlin](https://www.baeldung.com/kotlin-java-static-final)
+- [Initializing Arrays in Kotlin](https://www.baeldung.com/kotlin-initialize-array)
+- [Lazy Initialization in Kotlin](https://www.baeldung.com/kotlin-lazy-initialization)
+- [Comprehensive Guide to Null Safety in Kotlin](https://www.baeldung.com/kotlin-null-safety)
+- [[<-- Prev]](/core-kotlin-modules/core-kotlin-lang)
diff --git a/core-kotlin-modules/core-kotlin-lang-2/pom.xml b/core-kotlin-modules/core-kotlin-lang-2/pom.xml
new file mode 100644
index 0000000000..753147728d
--- /dev/null
+++ b/core-kotlin-modules/core-kotlin-lang-2/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+ core-kotlin-lang-2
+ core-kotlin-lang-2
+ jar
+
+
+ com.baeldung.core-kotlin-modules
+ core-kotlin-modules
+ 1.0.0-SNAPSHOT
+
+
+
\ No newline at end of file
diff --git a/core-kotlin/src/main/java/com/baeldung/lazy/ClassWithHeavyInitialization.java b/core-kotlin-modules/core-kotlin-lang-2/src/main/java/com/baeldung/lazy/ClassWithHeavyInitialization.java
similarity index 100%
rename from core-kotlin/src/main/java/com/baeldung/lazy/ClassWithHeavyInitialization.java
rename to core-kotlin-modules/core-kotlin-lang-2/src/main/java/com/baeldung/lazy/ClassWithHeavyInitialization.java
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/lambda/Lambda.kt b/core-kotlin-modules/core-kotlin-lang-2/src/main/kotlin/com/baeldung/lambda/Lambda.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/lambda/Lambda.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/main/kotlin/com/baeldung/lambda/Lambda.kt
diff --git a/core-kotlin/src/test/java/com/baeldung/kotlin/LazyJavaUnitTest.java b/core-kotlin-modules/core-kotlin-lang-2/src/test/java/com/baeldung/lazy/LazyJavaUnitTest.java
similarity index 86%
rename from core-kotlin/src/test/java/com/baeldung/kotlin/LazyJavaUnitTest.java
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/java/com/baeldung/lazy/LazyJavaUnitTest.java
index e2fe58d537..01c87d9543 100644
--- a/core-kotlin/src/test/java/com/baeldung/kotlin/LazyJavaUnitTest.java
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/java/com/baeldung/lazy/LazyJavaUnitTest.java
@@ -1,7 +1,5 @@
-package com.baeldung.kotlin;
+package com.baeldung.lazy;
-
-import com.baeldung.lazy.ClassWithHeavyInitialization;
import org.junit.Test;
import static junit.framework.TestCase.assertTrue;
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/ArrayInitializationTest.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/arrayinitialization/ArrayInitializationTest.kt
similarity index 96%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/ArrayInitializationTest.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/arrayinitialization/ArrayInitializationTest.kt
index ba3694c831..d4b9d607fb 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/ArrayInitializationTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/arrayinitialization/ArrayInitializationTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.arrayinitialization
import org.junit.Test
import kotlin.test.assertEquals
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/ConstantUnitTest.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/ConstantUnitTest.kt
similarity index 79%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/ConstantUnitTest.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/ConstantUnitTest.kt
index 51d45b8df0..d9bf433208 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/ConstantUnitTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/ConstantUnitTest.kt
@@ -1,5 +1,5 @@
-import com.baeldung.kotlin.constant.TestKotlinConstantClass
-import com.baeldung.kotlin.constant.TestKotlinConstantObject
+package com.baeldung.constant
+
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/TestKotlinConstantClass.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/TestKotlinConstantClass.kt
similarity index 75%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/TestKotlinConstantClass.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/TestKotlinConstantClass.kt
index 8bcc327999..3c4d4db220 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/TestKotlinConstantClass.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/TestKotlinConstantClass.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin.constant
+package com.baeldung.constant
class TestKotlinConstantClass {
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/TestKotlinConstantObject.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/TestKotlinConstantObject.kt
similarity index 87%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/TestKotlinConstantObject.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/TestKotlinConstantObject.kt
index 815fdeaf14..a6951b4481 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/constant/TestKotlinConstantObject.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/constant/TestKotlinConstantObject.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin.constant
+package com.baeldung.constant
object TestKotlinConstantObject {
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/InfixFunctionsTest.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/infixfunctions/InfixFunctionsTest.kt
similarity index 97%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/InfixFunctionsTest.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/infixfunctions/InfixFunctionsTest.kt
index fc4286460a..0b09d34013 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/InfixFunctionsTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/infixfunctions/InfixFunctionsTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.infixfunctions
import org.junit.Assert
import org.junit.Test
diff --git a/core-kotlin/src/test/java/com/baeldung/lambda/LambdaKotlinUnitTest.java b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lambda/LambdaKotlinUnitTest.java
similarity index 100%
rename from core-kotlin/src/test/java/com/baeldung/lambda/LambdaKotlinUnitTest.java
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lambda/LambdaKotlinUnitTest.java
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/lambda/LambdaTest.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lambda/LambdaTest.kt
similarity index 99%
rename from core-kotlin/src/test/kotlin/com/baeldung/lambda/LambdaTest.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lambda/LambdaTest.kt
index 3af00c98ff..bddabee462 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/lambda/LambdaTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lambda/LambdaTest.kt
@@ -6,6 +6,7 @@ import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
class LambdaTest {
+
@Test
fun whenCallingALambda_thenPerformTheAction() {
assertEquals(9, inferredType(3))
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/LazyUnitTest.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lazy/LazyUnitTest.kt
similarity index 98%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/LazyUnitTest.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lazy/LazyUnitTest.kt
index 1169fb9193..b9b21ed4d9 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/LazyUnitTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/lazy/LazyUnitTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.lazy
import org.junit.Test
import java.util.concurrent.CountDownLatch
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/NullSafetyTest.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/nullsafety/NullSafetyTest.kt
similarity index 99%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/NullSafetyTest.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/nullsafety/NullSafetyTest.kt
index 0ecc74b6fb..66fc043581 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/NullSafetyTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/nullsafety/NullSafetyTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.nullsafety
import org.junit.Test
import kotlin.test.assertEquals
@@ -8,6 +8,7 @@ import kotlin.test.assertTrue
class NullSafetyTest {
+
@Test
fun givenNonNullableField_whenAssignValueToIt_thenNotNeedToCheckAgainstNull() {
//given
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/StructuralJumpUnitTest.kt b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/structuraljump/StructuralJumpUnitTest.kt
similarity index 98%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/StructuralJumpUnitTest.kt
rename to core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/structuraljump/StructuralJumpUnitTest.kt
index 436dc9e2ba..88011ab396 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/StructuralJumpUnitTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang-2/src/test/kotlin/com/baeldung/structuraljump/StructuralJumpUnitTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.structuraljump
import org.junit.Test
import kotlin.test.assertEquals
diff --git a/core-kotlin-modules/core-kotlin-lang/README.md b/core-kotlin-modules/core-kotlin-lang/README.md
new file mode 100644
index 0000000000..eaeae76854
--- /dev/null
+++ b/core-kotlin-modules/core-kotlin-lang/README.md
@@ -0,0 +1,16 @@
+## Core Kotlin Lang
+
+This module contains articles about core features in the Kotlin language.
+
+### Relevant articles:
+- [Guide to the “when{}” Block in Kotlin](https://www.baeldung.com/kotlin-when)
+- [Difference Between “==” and “===” Operators in Kotlin](https://www.baeldung.com/kotlin-equality-operators)
+- [Nested forEach in Kotlin](https://www.baeldung.com/kotlin-nested-foreach)
+- [Destructuring Declarations in Kotlin](https://www.baeldung.com/kotlin-destructuring-declarations)
+- [Try-with-resources in Kotlin](https://www.baeldung.com/kotlin-try-with-resources)
+- [Operator Overloading in Kotlin](https://www.baeldung.com/kotlin-operator-overloading)
+- [Inline Functions in Kotlin](https://www.baeldung.com/kotlin-inline-functions)
+- [Void Type in Kotlin](https://www.baeldung.com/kotlin-void-type)
+- [How to use Kotlin Range Expressions](https://www.baeldung.com/kotlin-ranges)
+- [Creating a Kotlin Range Iterator on a Custom Object](https://www.baeldung.com/kotlin-custom-range-iterator)
+- [[More --> ]](/core-kotlin-modules/core-kotlin-lang-2)
diff --git a/core-kotlin-modules/core-kotlin-lang/pom.xml b/core-kotlin-modules/core-kotlin-lang/pom.xml
new file mode 100644
index 0000000000..d3ac7f690c
--- /dev/null
+++ b/core-kotlin-modules/core-kotlin-lang/pom.xml
@@ -0,0 +1,16 @@
+
+
+ 4.0.0
+ core-kotlin-lang
+ core-kotlin-lang
+ jar
+
+
+ com.baeldung.core-kotlin-modules
+ core-kotlin-modules
+ 1.0.0-SNAPSHOT
+
+
+
\ No newline at end of file
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/destructuringdeclarations/Person.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/destructuringdeclarations/Person.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/destructuringdeclarations/Person.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/destructuringdeclarations/Person.kt
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/destructuringdeclarations/Result.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/destructuringdeclarations/Result.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/destructuringdeclarations/Result.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/destructuringdeclarations/Result.kt
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/destructuringdeclarations/Sandbox.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/destructuringdeclarations/Sandbox.kt
similarity index 94%
rename from core-kotlin/src/main/kotlin/com/baeldung/destructuringdeclarations/Sandbox.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/destructuringdeclarations/Sandbox.kt
index a5018d93c8..f845d01539 100644
--- a/core-kotlin/src/main/kotlin/com/baeldung/destructuringdeclarations/Sandbox.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/destructuringdeclarations/Sandbox.kt
@@ -1,7 +1,5 @@
package com.baeldung.destructuringdeclarations
-import com.baeldung.destructuringdeclarations.Person
-
fun main(args: Array) {
//2.1. Objects
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/User.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/equalityoperators/User.kt
similarity index 66%
rename from core-kotlin/src/main/kotlin/com/baeldung/kotlin/User.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/equalityoperators/User.kt
index 759627b56e..030169bb8a 100644
--- a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/User.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/equalityoperators/User.kt
@@ -1,3 +1,3 @@
-package com.baeldung.kotlin
+package com.baeldung.equalityoperators
data class User(val name: String, val age: Int, val hobbies: List)
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/forEach/forEach.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/forEach/forEach.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/forEach/forEach.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/forEach/forEach.kt
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/functions/Inline.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/inline/Inline.kt
similarity index 95%
rename from core-kotlin/src/main/kotlin/com/baeldung/functions/Inline.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/inline/Inline.kt
index 239c425c03..3b179642ba 100644
--- a/core-kotlin/src/main/kotlin/com/baeldung/functions/Inline.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/inline/Inline.kt
@@ -1,4 +1,4 @@
-package com.baeldung.functions
+package com.baeldung.inline
import kotlin.random.Random
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/operators/Money.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Money.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/operators/Money.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Money.kt
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/operators/Page.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Page.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/operators/Page.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Page.kt
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/operators/Point.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Point.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/operators/Point.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Point.kt
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/operators/Utils.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Utils.kt
similarity index 100%
rename from core-kotlin/src/main/kotlin/com/baeldung/operators/Utils.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/operators/Utils.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/CharRange.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/CharRange.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/CharRange.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/CharRange.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/Color.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Color.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/Color.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Color.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/Filter.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Filter.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/Filter.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Filter.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/FirstLast.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/FirstLast.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/FirstLast.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/FirstLast.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/OtherRangeFunctions.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/OtherRangeFunctions.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/OtherRangeFunctions.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/OtherRangeFunctions.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/Range.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Range.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/Range.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Range.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/ReverseRange.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/ReverseRange.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/ReverseRange.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/ReverseRange.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/Step.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Step.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/Step.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/Step.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/UntilRange.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/UntilRange.kt
similarity index 100%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/UntilRange.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/range/UntilRange.kt
diff --git a/core-kotlin-2/src/main/kotlin/com/baeldung/range/CustomColor.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/rangeiterator/CustomColor.kt
similarity index 84%
rename from core-kotlin-2/src/main/kotlin/com/baeldung/range/CustomColor.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/rangeiterator/CustomColor.kt
index b4fed13b18..c1ab8e1610 100644
--- a/core-kotlin-2/src/main/kotlin/com/baeldung/range/CustomColor.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/rangeiterator/CustomColor.kt
@@ -1,4 +1,4 @@
-package com.baeldung.range
+package com.baeldung.rangeiterator
import java.lang.IllegalStateException
@@ -8,7 +8,7 @@ class CustomColor(val rgb: Int): Comparable {
return this.rgb.compareTo(other.rgb)
}
- operator fun rangeTo(that: CustomColor) = ColorRange(this,that)
+ operator fun rangeTo(that: CustomColor) = ColorRange(this, that)
operator fun inc(): CustomColor {
return CustomColor(rgb + 1)
@@ -25,7 +25,7 @@ class CustomColor(val rgb: Int): Comparable {
}
}
class ColorRange(override val start: CustomColor,
- override val endInclusive: CustomColor) : ClosedRange, Iterable{
+ override val endInclusive: CustomColor) : ClosedRange, Iterable{
override fun iterator(): Iterator {
return ColorIterator(start, endInclusive)
diff --git a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/WhenBlockTypes.kt b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/whenblock/WhenBlockTypes.kt
similarity index 95%
rename from core-kotlin/src/main/kotlin/com/baeldung/kotlin/WhenBlockTypes.kt
rename to core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/whenblock/WhenBlockTypes.kt
index 6180da10d9..a4cd7b98f0 100644
--- a/core-kotlin/src/main/kotlin/com/baeldung/kotlin/WhenBlockTypes.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/main/kotlin/com/baeldung/whenblock/WhenBlockTypes.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.whenblock
enum class UnixFileType {
D, HYPHEN_MINUS, L
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/EqualityTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/equalityoperators/EqualityTest.kt
similarity index 97%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/EqualityTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/equalityoperators/EqualityTest.kt
index 6fb6d0a288..0728d55b73 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/EqualityTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/equalityoperators/EqualityTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.equalityoperators
import org.junit.Test
import kotlin.test.assertFalse
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/operators/PageTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/operators/PageTest.kt
similarity index 100%
rename from core-kotlin/src/test/kotlin/com/baeldung/operators/PageTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/operators/PageTest.kt
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/operators/PointTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/operators/PointTest.kt
similarity index 100%
rename from core-kotlin/src/test/kotlin/com/baeldung/operators/PointTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/operators/PointTest.kt
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/operators/UtilsTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/operators/UtilsTest.kt
similarity index 100%
rename from core-kotlin/src/test/kotlin/com/baeldung/operators/UtilsTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/operators/UtilsTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/CharRangeTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/CharRangeTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/CharRangeTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/CharRangeTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/ColorTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/ColorTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/ColorTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/ColorTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/FilterTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/FilterTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/FilterTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/FilterTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/FirstLastTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/FirstLastTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/FirstLastTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/FirstLastTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/OtherRangeFunctionsTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/OtherRangeFunctionsTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/OtherRangeFunctionsTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/OtherRangeFunctionsTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/RangeTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/RangeTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/RangeTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/RangeTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/ReverseRangeTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/ReverseRangeTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/ReverseRangeTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/ReverseRangeTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/StepTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/StepTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/StepTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/StepTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/UntilRangeTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/UntilRangeTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/UntilRangeTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/range/UntilRangeTest.kt
diff --git a/core-kotlin-2/src/test/kotlin/com/baeldung/range/CustomColorTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/rangeiterator/CustomColorTest.kt
similarity index 95%
rename from core-kotlin-2/src/test/kotlin/com/baeldung/range/CustomColorTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/rangeiterator/CustomColorTest.kt
index 8c8795ac42..676b47ae7a 100644
--- a/core-kotlin-2/src/test/kotlin/com/baeldung/range/CustomColorTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/rangeiterator/CustomColorTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.range
+package com.baeldung.rangeiterator
import org.junit.Test
import java.lang.IllegalStateException
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/UseTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/trywithresource/UseTest.kt
similarity index 98%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/UseTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/trywithresource/UseTest.kt
index 15bdfcafd8..d17832b380 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/UseTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/trywithresource/UseTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.trywithresource
import org.junit.Test
import java.beans.ExceptionListener
diff --git a/core-kotlin-2/src/test/kotlin/voidtypes/VoidTypesUnitTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/voidtypes/VoidTypesUnitTest.kt
similarity index 100%
rename from core-kotlin-2/src/test/kotlin/voidtypes/VoidTypesUnitTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/voidtypes/VoidTypesUnitTest.kt
diff --git a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/WhenBlockUnitTest.kt b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/whenblock/WhenBlockUnitTest.kt
similarity index 99%
rename from core-kotlin/src/test/kotlin/com/baeldung/kotlin/WhenBlockUnitTest.kt
rename to core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/whenblock/WhenBlockUnitTest.kt
index aa1891fa46..31b6ad69f5 100644
--- a/core-kotlin/src/test/kotlin/com/baeldung/kotlin/WhenBlockUnitTest.kt
+++ b/core-kotlin-modules/core-kotlin-lang/src/test/kotlin/com/baeldung/whenblock/WhenBlockUnitTest.kt
@@ -1,4 +1,4 @@
-package com.baeldung.kotlin
+package com.baeldung.whenblock
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
diff --git a/core-kotlin-modules/pom.xml b/core-kotlin-modules/pom.xml
index 747e8b69de..1abea86289 100644
--- a/core-kotlin-modules/pom.xml
+++ b/core-kotlin-modules/pom.xml
@@ -17,6 +17,8 @@
core-kotlin-annotations
core-kotlin-io
+ core-kotlin-lang
+ core-kotlin-lang-2
core-kotlin-strings
diff --git a/core-kotlin/README.md b/core-kotlin/README.md
index f75a4e764c..785eb0b689 100644
--- a/core-kotlin/README.md
+++ b/core-kotlin/README.md
@@ -5,14 +5,9 @@ This module contains articles about core Kotlin.
### Relevant articles:
- [Introduction to the Kotlin Language](https://www.baeldung.com/kotlin)
-- [Guide to the “when{}” Block in Kotlin](https://www.baeldung.com/kotlin-when)
-- [Comprehensive Guide to Null Safety in Kotlin](https://www.baeldung.com/kotlin-null-safety)
- [Kotlin Java Interoperability](https://www.baeldung.com/kotlin-java-interoperability)
-- [Difference Between “==” and “===” operators in Kotlin](https://www.baeldung.com/kotlin-equality-operators)
- [Generics in Kotlin](https://www.baeldung.com/kotlin-generics)
- [Introduction to Kotlin Coroutines](https://www.baeldung.com/kotlin-coroutines)
-- [Destructuring Declarations in Kotlin](https://www.baeldung.com/kotlin-destructuring-declarations)
-- [Lazy Initialization in Kotlin](https://www.baeldung.com/kotlin-lazy-initialization)
- [Overview of Kotlin Collections API](https://www.baeldung.com/kotlin-collections-api)
- [Converting a List to Map in Kotlin](https://www.baeldung.com/kotlin-list-to-map)
- [Data Classes in Kotlin](https://www.baeldung.com/kotlin-data-classes)
@@ -20,12 +15,9 @@ This module contains articles about core Kotlin.
- [Sealed Classes in Kotlin](https://www.baeldung.com/kotlin-sealed-classes)
- [JUnit 5 for Kotlin Developers](https://www.baeldung.com/junit-5-kotlin)
- [Extension Methods in Kotlin](https://www.baeldung.com/kotlin-extension-methods)
-- [Infix Functions in Kotlin](https://www.baeldung.com/kotlin-infix-functions)
-- [Try-with-resources in Kotlin](https://www.baeldung.com/kotlin-try-with-resources)
- [Regular Expressions in Kotlin](https://www.baeldung.com/kotlin-regular-expressions)
- [Objects in Kotlin](https://www.baeldung.com/kotlin-objects)
- [Filtering Kotlin Collections](https://www.baeldung.com/kotlin-filter-collection)
-- [Lambda Expressions in Kotlin](https://www.baeldung.com/kotlin-lambda-expressions)
- [Working with Enums in Kotlin](https://www.baeldung.com/kotlin-enum)
- [Create a Java and Kotlin Project with Maven](https://www.baeldung.com/kotlin-maven-java-project)
- [Reflection with Kotlin](https://www.baeldung.com/kotlin-reflection)
@@ -37,21 +29,15 @@ This module contains articles about core Kotlin.
- [Fuel HTTP Library with Kotlin](https://www.baeldung.com/kotlin-fuel)
- [Introduction to Kovenant Library for Kotlin](https://www.baeldung.com/kotlin-kovenant)
- [Converting Kotlin Data Class from JSON using GSON](https://www.baeldung.com/kotlin-json-convert-data-class)
-- [Kotlin return, break, continue Keywords](https://www.baeldung.com/kotlin-return-break-continue)
- [Mapping of Data Objects in Kotlin](https://www.baeldung.com/kotlin-data-objects)
-- [Initializing Arrays in Kotlin](https://www.baeldung.com/kotlin-initialize-array)
- [Threads vs Coroutines in Kotlin](https://www.baeldung.com/kotlin-threads-coroutines)
- [Guide to Kotlin Interfaces](https://www.baeldung.com/kotlin-interfaces)
- [Guide to Sorting in Kotlin](https://www.baeldung.com/kotlin-sort)
- [Dependency Injection for Kotlin with Injekt](https://www.baeldung.com/kotlin-dependency-injection-with-injekt)
- [Implementing a Binary Tree in Kotlin](https://www.baeldung.com/kotlin-binary-tree)
- [Kotlin Contracts](https://www.baeldung.com/kotlin-contracts)
-- [Operator Overloading in Kotlin](https://www.baeldung.com/kotlin-operator-overloading)
- [Inline Classes in Kotlin](https://www.baeldung.com/kotlin-inline-classes)
-- [Creating Java static final Equivalents in Kotlin](https://www.baeldung.com/kotlin-java-static-final)
-- [Nested forEach in Kotlin](https://www.baeldung.com/kotlin-nested-foreach)
- [Building DSLs in Kotlin](https://www.baeldung.com/kotlin-dsl)
- [Static Methods Behavior in Kotlin](https://www.baeldung.com/kotlin-static-methods)
-- [Inline Functions in Kotlin](https://www.baeldung.com/kotlin-inline-functions)
- [Delegation Pattern in Kotlin](https://www.baeldung.com/kotlin-delegation-pattern)
- More articles: [[next -->]](/core-kotlin-2)