diff --git a/core-java-modules/core-java-exceptions/README.md b/core-java-modules/core-java-exceptions/README.md
index 79e5bad23a..78599c6b7b 100644
--- a/core-java-modules/core-java-exceptions/README.md
+++ b/core-java-modules/core-java-exceptions/README.md
@@ -1,3 +1,8 @@
## Relevant Articles:
- [Will an Error Be Caught by Catch Block in Java?](https://www.baeldung.com/java-error-catch)
+- [Java Global Exception Handler](http://www.baeldung.com/java-global-exception-handler)
+- [Common Java Exceptions](http://www.baeldung.com/java-common-exceptions)
+- [Throw Exception in Optional in Java 8](https://www.baeldung.com/java-optional-throw-exception)
+- [How to Find an Exception’s Root Cause in Java](https://www.baeldung.com/java-exception-root-cause)
+- [Java – Try with Resources](https://www.baeldung.com/java-try-with-resources)
diff --git a/core-java-modules/core-java-exceptions/pom.xml b/core-java-modules/core-java-exceptions/pom.xml
index 2e5200944a..43c4e31033 100644
--- a/core-java-modules/core-java-exceptions/pom.xml
+++ b/core-java-modules/core-java-exceptions/pom.xml
@@ -26,10 +26,30 @@
commons-lang3
${commons-lang3.version}
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh-core.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh-generator-annprocess.version}
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj-core.version}
+ test
+
3.9
+ 1.19
+ 3.10.0
+ 1.19
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/Arithmetic.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/Arithmetic.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/Arithmetic.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/Arithmetic.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ArrayIndexOutOfBounds.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ClassCast.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ClassCast.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ClassCast.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ClassCast.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/FileNotFound.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/FileNotFound.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/FileNotFound.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/FileNotFound.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/GlobalExceptionHandler.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalArgument.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalArgument.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalArgument.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalArgument.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalState.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalState.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/IllegalState.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/IllegalState.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/InterruptedExceptionExample.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/MalformedURL.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/MalformedURL.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/MalformedURL.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/MalformedURL.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NullPointer.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NullPointer.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NullPointer.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NullPointer.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NumberFormat.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NumberFormat.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/NumberFormat.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/NumberFormat.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/ParseExceptionExample.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StackTraceToString.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StackTraceToString.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StackTraceToString.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StackTraceToString.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/exceptions/StringIndexOutOfBounds.java
diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Modem.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Modem.java
similarity index 100%
rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Modem.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Modem.java
diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java
similarity index 100%
rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGet.java
diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java
similarity index 100%
rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/OrElseAndOrElseGetBenchmarkRunner.java
diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Person.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Person.java
similarity index 100%
rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/Person.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/Person.java
diff --git a/core-java-modules/core-java-8/src/main/java/com/baeldung/optional/PersonRepository.java b/core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/PersonRepository.java
similarity index 100%
rename from core-java-modules/core-java-8/src/main/java/com/baeldung/optional/PersonRepository.java
rename to core-java-modules/core-java-exceptions/src/main/java/com/baeldung/optional/PersonRepository.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java
rename to core-java-modules/core-java-exceptions/src/test/java/com/baeldung/exceptions/GlobalExceptionHandlerUnitTest.java
diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-8/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java
rename to core-java-modules/core-java-exceptions/src/test/java/com/baeldung/java8/JavaTryWithResourcesLongRunningUnitTest.java
diff --git a/core-java-modules/core-java-8/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java b/core-java-modules/core-java-exceptions/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-8/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java
rename to core-java-modules/core-java-exceptions/src/test/java/com/baeldung/optional/PersonRepositoryUnitTest.java
diff --git a/core-java-modules/core-java-networking-2/README.md b/core-java-modules/core-java-networking-2/README.md
index 6b6151248e..2bc648449a 100644
--- a/core-java-modules/core-java-networking-2/README.md
+++ b/core-java-modules/core-java-networking-2/README.md
@@ -1,3 +1,5 @@
### Relevant Articles
- [Checking if a URL Exists in Java](https://www.baeldung.com/java-check-url-exists)
+- [Making a JSON POST Request With HttpURLConnection](https://www.baeldung.com/httpurlconnection-post)
+- [Using Curl in Java](https://www.baeldung.com/java-curl)
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java b/core-java-modules/core-java-networking-2/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java
rename to core-java-modules/core-java-networking-2/src/main/java/com/baeldung/curltojava/JavaCurlExamples.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java b/core-java-modules/core-java-networking-2/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java
rename to core-java-modules/core-java-networking-2/src/main/java/com/baeldung/urlconnection/PostJSONWithHttpURLConnection.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java b/core-java-modules/core-java-networking-2/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java
rename to core-java-modules/core-java-networking-2/src/test/java/com/baeldung/curltojava/JavaCurlExamplesLiveTest.java
diff --git a/core-java-modules/core-java-reflection/README.MD b/core-java-modules/core-java-reflection/README.MD
index c8766d6858..d9cc95ad08 100644
--- a/core-java-modules/core-java-reflection/README.MD
+++ b/core-java-modules/core-java-reflection/README.MD
@@ -1,3 +1,4 @@
## Relevant Articles
- [Void Type in Java](https://www.baeldung.com/java-void-type)
+- [Retrieve Fields from a Java Class Using Reflection](https://www.baeldung.com/java-reflection-class-fields)
\ No newline at end of file
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java
rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/BaeldungReflectionUtils.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/Customer.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Customer.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/Customer.java
rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Customer.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/Employee.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Employee.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/Employee.java
rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Employee.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/MonthEmployee.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/MonthEmployee.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/MonthEmployee.java
rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/MonthEmployee.java
diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/reflection/Person.java b/core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Person.java
similarity index 100%
rename from core-java-modules/core-java/src/main/java/com/baeldung/reflection/Person.java
rename to core-java-modules/core-java-reflection/src/main/java/com/baeldung/reflection/Person.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java
rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/BaeldungReflectionUtilsUnitTest.java
diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java b/core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java
similarity index 100%
rename from core-java-modules/core-java/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java
rename to core-java-modules/core-java-reflection/src/test/java/com/baeldung/reflection/PersonAndEmployeeReflectionUnitTest.java