diff --git a/pom.xml b/pom.xml
index 8b83d02..64f8fce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,6 +62,13 @@
org.apache.maven.plugins
maven-surefire-plugin
3.5.3
+
+
+ -Dnet.bytebuddy.experimental=true
+ --add-opens java.base/java.lang=ALL-UNNAMED
+ --add-opens java.base/java.lang.reflect=ALL-UNNAMED
+
+
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/ArrayExercises.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ArrayExercises.java
similarity index 96%
rename from src/main/java/com/amigoscode/beginners/thebasics/ArrayExercises.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ArrayExercises.java
index bcbc5d2..ddac10d 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/ArrayExercises.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ArrayExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Arrays
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/ConditionalStatements.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ConditionalStatements.java
similarity index 97%
rename from src/main/java/com/amigoscode/beginners/thebasics/ConditionalStatements.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ConditionalStatements.java
index ad2cace..739f739 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/ConditionalStatements.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ConditionalStatements.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Conditional Statements
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/LoopExercises.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/LoopExercises.java
similarity index 97%
rename from src/main/java/com/amigoscode/beginners/thebasics/LoopExercises.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/LoopExercises.java
index 1338829..87259c5 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/LoopExercises.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/LoopExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Loops
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/MethodExercises.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/MethodExercises.java
similarity index 97%
rename from src/main/java/com/amigoscode/beginners/thebasics/MethodExercises.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/MethodExercises.java
index f82cb5a..359f885 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/MethodExercises.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/MethodExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Methods
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/MiniProject.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/MiniProject.java
similarity index 96%
rename from src/main/java/com/amigoscode/beginners/thebasics/MiniProject.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/MiniProject.java
index 719a2ef..5ca61e6 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/MiniProject.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/MiniProject.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
import java.util.Scanner;
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/Operators.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/Operators.java
similarity index 97%
rename from src/main/java/com/amigoscode/beginners/thebasics/Operators.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/Operators.java
index 19a979e..3dca8a0 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/Operators.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/Operators.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Operators
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/ScannerExercises.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ScannerExercises.java
similarity index 96%
rename from src/main/java/com/amigoscode/beginners/thebasics/ScannerExercises.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ScannerExercises.java
index c38ef43..016a409 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/ScannerExercises.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/ScannerExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
import java.util.Scanner;
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/StringExercises.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/StringExercises.java
similarity index 97%
rename from src/main/java/com/amigoscode/beginners/thebasics/StringExercises.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/StringExercises.java
index 6c80449..5eed7db 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/StringExercises.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/StringExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Strings
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/TypeCasting.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/TypeCasting.java
similarity index 96%
rename from src/main/java/com/amigoscode/beginners/thebasics/TypeCasting.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/TypeCasting.java
index 4ba7b63..a71db6c 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/TypeCasting.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/TypeCasting.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Type Casting
diff --git a/src/main/java/com/amigoscode/beginners/thebasics/Variables.java b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/Variables.java
similarity index 95%
rename from src/main/java/com/amigoscode/beginners/thebasics/Variables.java
rename to src/main/java/com/amigoscode/_1_beginners/_1_thebasics/Variables.java
index d69115e..3d2ef3b 100644
--- a/src/main/java/com/amigoscode/beginners/thebasics/Variables.java
+++ b/src/main/java/com/amigoscode/_1_beginners/_1_thebasics/Variables.java
@@ -1,4 +1,4 @@
-package com.amigoscode.beginners.thebasics;
+package com.amigoscode._1_beginners._1_thebasics;
/**
* Exercise: Variables and Data Types
diff --git a/src/main/java/com/amigoscode/developers/exceptions/CustomException.java b/src/main/java/com/amigoscode/_2_developers/_10_exceptions/CustomException.java
similarity index 98%
rename from src/main/java/com/amigoscode/developers/exceptions/CustomException.java
rename to src/main/java/com/amigoscode/_2_developers/_10_exceptions/CustomException.java
index b3520a7..d9387f2 100644
--- a/src/main/java/com/amigoscode/developers/exceptions/CustomException.java
+++ b/src/main/java/com/amigoscode/_2_developers/_10_exceptions/CustomException.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.exceptions;
+package com.amigoscode._2_developers._10_exceptions;
/**
* Custom Exception Exercises
diff --git a/src/main/java/com/amigoscode/developers/exceptions/TryCatch.java b/src/main/java/com/amigoscode/_2_developers/_10_exceptions/TryCatch.java
similarity index 99%
rename from src/main/java/com/amigoscode/developers/exceptions/TryCatch.java
rename to src/main/java/com/amigoscode/_2_developers/_10_exceptions/TryCatch.java
index 06b70a5..afefa02 100644
--- a/src/main/java/com/amigoscode/developers/exceptions/TryCatch.java
+++ b/src/main/java/com/amigoscode/_2_developers/_10_exceptions/TryCatch.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.exceptions;
+package com.amigoscode._2_developers._10_exceptions;
import java.util.Scanner;
diff --git a/src/main/java/com/amigoscode/developers/files/FileReading.java b/src/main/java/com/amigoscode/_2_developers/_11_files/FileReading.java
similarity index 99%
rename from src/main/java/com/amigoscode/developers/files/FileReading.java
rename to src/main/java/com/amigoscode/_2_developers/_11_files/FileReading.java
index cd95ccb..060e990 100644
--- a/src/main/java/com/amigoscode/developers/files/FileReading.java
+++ b/src/main/java/com/amigoscode/_2_developers/_11_files/FileReading.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.files;
+package com.amigoscode._2_developers._11_files;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
diff --git a/src/main/java/com/amigoscode/developers/files/FileWriting.java b/src/main/java/com/amigoscode/_2_developers/_11_files/FileWriting.java
similarity index 99%
rename from src/main/java/com/amigoscode/developers/files/FileWriting.java
rename to src/main/java/com/amigoscode/_2_developers/_11_files/FileWriting.java
index afe45e5..f5cd385 100644
--- a/src/main/java/com/amigoscode/developers/files/FileWriting.java
+++ b/src/main/java/com/amigoscode/_2_developers/_11_files/FileWriting.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.files;
+package com.amigoscode._2_developers._11_files;
import java.io.BufferedWriter;
import java.io.FileWriter;
diff --git a/src/main/java/com/amigoscode/developers/classes/ClassesAndObjects.java b/src/main/java/com/amigoscode/_2_developers/_12_classes/ClassesAndObjects.java
similarity index 97%
rename from src/main/java/com/amigoscode/developers/classes/ClassesAndObjects.java
rename to src/main/java/com/amigoscode/_2_developers/_12_classes/ClassesAndObjects.java
index 88bb870..12a7951 100644
--- a/src/main/java/com/amigoscode/developers/classes/ClassesAndObjects.java
+++ b/src/main/java/com/amigoscode/_2_developers/_12_classes/ClassesAndObjects.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.classes;
+package com.amigoscode._2_developers._12_classes;
import java.util.Objects;
diff --git a/src/main/java/com/amigoscode/developers/classes/EnumExercises.java b/src/main/java/com/amigoscode/_2_developers/_12_classes/EnumExercises.java
similarity index 97%
rename from src/main/java/com/amigoscode/developers/classes/EnumExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_12_classes/EnumExercises.java
index 7aee295..37601fa 100644
--- a/src/main/java/com/amigoscode/developers/classes/EnumExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_12_classes/EnumExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.classes;
+package com.amigoscode._2_developers._12_classes;
/**
* Enum Exercises
diff --git a/src/main/java/com/amigoscode/developers/staticmembers/StaticExercises.java b/src/main/java/com/amigoscode/_2_developers/_13_staticmembers/StaticExercises.java
similarity index 98%
rename from src/main/java/com/amigoscode/developers/staticmembers/StaticExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_13_staticmembers/StaticExercises.java
index 153f50d..1cca4b2 100644
--- a/src/main/java/com/amigoscode/developers/staticmembers/StaticExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_13_staticmembers/StaticExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.staticmembers;
+package com.amigoscode._2_developers._13_staticmembers;
/**
* Static Members Exercises
diff --git a/src/main/java/com/amigoscode/developers/nullhandling/OptionalExercises.java b/src/main/java/com/amigoscode/_2_developers/_14_nullhandling/OptionalExercises.java
similarity index 99%
rename from src/main/java/com/amigoscode/developers/nullhandling/OptionalExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_14_nullhandling/OptionalExercises.java
index d87c2b0..bc45215 100644
--- a/src/main/java/com/amigoscode/developers/nullhandling/OptionalExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_14_nullhandling/OptionalExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.nullhandling;
+package com.amigoscode._2_developers._14_nullhandling;
import java.util.NoSuchElementException;
import java.util.Optional;
diff --git a/src/main/java/com/amigoscode/developers/loops/LoopExercises.java b/src/main/java/com/amigoscode/_2_developers/_1_loops/LoopExercises.java
similarity index 99%
rename from src/main/java/com/amigoscode/developers/loops/LoopExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_1_loops/LoopExercises.java
index cac7d9f..018200e 100644
--- a/src/main/java/com/amigoscode/developers/loops/LoopExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_1_loops/LoopExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.loops;
+package com.amigoscode._2_developers._1_loops;
/**
* Loop Exercises
diff --git a/src/main/java/com/amigoscode/developers/conditionals/IfStatements.java b/src/main/java/com/amigoscode/_2_developers/_2_conditionals/IfStatements.java
similarity index 98%
rename from src/main/java/com/amigoscode/developers/conditionals/IfStatements.java
rename to src/main/java/com/amigoscode/_2_developers/_2_conditionals/IfStatements.java
index 0a569eb..70bf442 100644
--- a/src/main/java/com/amigoscode/developers/conditionals/IfStatements.java
+++ b/src/main/java/com/amigoscode/_2_developers/_2_conditionals/IfStatements.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.conditionals;
+package com.amigoscode._2_developers._2_conditionals;
/**
* If Statements and Conditional Exercises
diff --git a/src/main/java/com/amigoscode/developers/packages/PackageDemo.java b/src/main/java/com/amigoscode/_2_developers/_3_packages/PackageDemo.java
similarity index 92%
rename from src/main/java/com/amigoscode/developers/packages/PackageDemo.java
rename to src/main/java/com/amigoscode/_2_developers/_3_packages/PackageDemo.java
index 6868a90..41a0016 100644
--- a/src/main/java/com/amigoscode/developers/packages/PackageDemo.java
+++ b/src/main/java/com/amigoscode/_2_developers/_3_packages/PackageDemo.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.packages;
+package com.amigoscode._2_developers._3_packages;
// TODO: 1 - Import java.util.List and java.util.ArrayList, then create a List
// in the useListFromUtil() method below.
@@ -66,9 +66,9 @@ public static double circleArea(double radius) {
*/
public static void useClassFromAnotherPackage() {
// TODO: 5 - Import or use a fully qualified name for a class from another package
- // in this project (e.g., com.amigoscode.developers.conditionals.IfStatements).
+ // in this project (e.g., com.amigoscode._2_developers._2_conditionals.IfStatements).
// Call one of its static methods and print the result.
- // Example: String result = com.amigoscode.developers.conditionals.IfStatements.evenOrOdd(4);
+ // Example: String result = com.amigoscode._2_developers._2_conditionals.IfStatements.evenOrOdd(4);
}
diff --git a/src/main/java/com/amigoscode/developers/accessmodifiers/AccessDemo.java b/src/main/java/com/amigoscode/_2_developers/_4_accessmodifiers/AccessDemo.java
similarity index 96%
rename from src/main/java/com/amigoscode/developers/accessmodifiers/AccessDemo.java
rename to src/main/java/com/amigoscode/_2_developers/_4_accessmodifiers/AccessDemo.java
index b2922dd..f0cf543 100644
--- a/src/main/java/com/amigoscode/developers/accessmodifiers/AccessDemo.java
+++ b/src/main/java/com/amigoscode/_2_developers/_4_accessmodifiers/AccessDemo.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.accessmodifiers;
+package com.amigoscode._2_developers._4_accessmodifiers;
/**
* Access Modifiers Demo
diff --git a/src/main/java/com/amigoscode/developers/accessmodifiers/AccessModifiers.java b/src/main/java/com/amigoscode/_2_developers/_4_accessmodifiers/AccessModifiers.java
similarity index 96%
rename from src/main/java/com/amigoscode/developers/accessmodifiers/AccessModifiers.java
rename to src/main/java/com/amigoscode/_2_developers/_4_accessmodifiers/AccessModifiers.java
index 69cbf29..45320c5 100644
--- a/src/main/java/com/amigoscode/developers/accessmodifiers/AccessModifiers.java
+++ b/src/main/java/com/amigoscode/_2_developers/_4_accessmodifiers/AccessModifiers.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.accessmodifiers;
+package com.amigoscode._2_developers._4_accessmodifiers;
/**
* Access Modifiers Exercises
diff --git a/src/main/java/com/amigoscode/developers/methods/MethodOverloading.java b/src/main/java/com/amigoscode/_2_developers/_5_methods/MethodOverloading.java
similarity index 96%
rename from src/main/java/com/amigoscode/developers/methods/MethodOverloading.java
rename to src/main/java/com/amigoscode/_2_developers/_5_methods/MethodOverloading.java
index e18aaf5..55655b0 100644
--- a/src/main/java/com/amigoscode/developers/methods/MethodOverloading.java
+++ b/src/main/java/com/amigoscode/_2_developers/_5_methods/MethodOverloading.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.methods;
+package com.amigoscode._2_developers._5_methods;
/**
* Method Overloading Exercises
diff --git a/src/main/java/com/amigoscode/developers/methods/VarArgs.java b/src/main/java/com/amigoscode/_2_developers/_5_methods/VarArgs.java
similarity index 98%
rename from src/main/java/com/amigoscode/developers/methods/VarArgs.java
rename to src/main/java/com/amigoscode/_2_developers/_5_methods/VarArgs.java
index 5053cdc..3bf368d 100644
--- a/src/main/java/com/amigoscode/developers/methods/VarArgs.java
+++ b/src/main/java/com/amigoscode/_2_developers/_5_methods/VarArgs.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.methods;
+package com.amigoscode._2_developers._5_methods;
/**
* Variable Arguments (Varargs) Exercises
diff --git a/src/main/java/com/amigoscode/developers/strings/StringBuilderExercises.java b/src/main/java/com/amigoscode/_2_developers/_6_strings/StringBuilderExercises.java
similarity index 98%
rename from src/main/java/com/amigoscode/developers/strings/StringBuilderExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_6_strings/StringBuilderExercises.java
index 6cef145..d4b9269 100644
--- a/src/main/java/com/amigoscode/developers/strings/StringBuilderExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_6_strings/StringBuilderExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.strings;
+package com.amigoscode._2_developers._6_strings;
/**
* StringBuilder Exercises
diff --git a/src/main/java/com/amigoscode/developers/strings/StringMethods.java b/src/main/java/com/amigoscode/_2_developers/_6_strings/StringMethods.java
similarity index 99%
rename from src/main/java/com/amigoscode/developers/strings/StringMethods.java
rename to src/main/java/com/amigoscode/_2_developers/_6_strings/StringMethods.java
index 814385f..eebc0f4 100644
--- a/src/main/java/com/amigoscode/developers/strings/StringMethods.java
+++ b/src/main/java/com/amigoscode/_2_developers/_6_strings/StringMethods.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.strings;
+package com.amigoscode._2_developers._6_strings;
/**
* String Methods Exercises
diff --git a/src/main/java/com/amigoscode/developers/dates/DateExercises.java b/src/main/java/com/amigoscode/_2_developers/_7_dates/DateExercises.java
similarity index 99%
rename from src/main/java/com/amigoscode/developers/dates/DateExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_7_dates/DateExercises.java
index 2804f43..1f98542 100644
--- a/src/main/java/com/amigoscode/developers/dates/DateExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_7_dates/DateExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.dates;
+package com.amigoscode._2_developers._7_dates;
import java.time.LocalDate;
import java.time.LocalDateTime;
diff --git a/src/main/java/com/amigoscode/developers/bigdecimal/BigDecimalExercises.java b/src/main/java/com/amigoscode/_2_developers/_8_bigdecimal/BigDecimalExercises.java
similarity index 98%
rename from src/main/java/com/amigoscode/developers/bigdecimal/BigDecimalExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_8_bigdecimal/BigDecimalExercises.java
index 7cbf672..5a7575f 100644
--- a/src/main/java/com/amigoscode/developers/bigdecimal/BigDecimalExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_8_bigdecimal/BigDecimalExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.bigdecimal;
+package com.amigoscode._2_developers._8_bigdecimal;
import java.math.BigDecimal;
import java.math.RoundingMode;
diff --git a/src/main/java/com/amigoscode/developers/userinput/UserInputExercises.java b/src/main/java/com/amigoscode/_2_developers/_9_userinput/UserInputExercises.java
similarity index 98%
rename from src/main/java/com/amigoscode/developers/userinput/UserInputExercises.java
rename to src/main/java/com/amigoscode/_2_developers/_9_userinput/UserInputExercises.java
index 2efb3e7..e285a56 100644
--- a/src/main/java/com/amigoscode/developers/userinput/UserInputExercises.java
+++ b/src/main/java/com/amigoscode/_2_developers/_9_userinput/UserInputExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.developers.userinput;
+package com.amigoscode._2_developers._9_userinput;
import java.util.InputMismatchException;
import java.util.Scanner;
diff --git a/src/main/java/com/amigoscode/oop/encapsulation/BankAccount.java b/src/main/java/com/amigoscode/_3_oop/_1_encapsulation/BankAccount.java
similarity index 98%
rename from src/main/java/com/amigoscode/oop/encapsulation/BankAccount.java
rename to src/main/java/com/amigoscode/_3_oop/_1_encapsulation/BankAccount.java
index 9f8b1ad..45ab6df 100644
--- a/src/main/java/com/amigoscode/oop/encapsulation/BankAccount.java
+++ b/src/main/java/com/amigoscode/_3_oop/_1_encapsulation/BankAccount.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.encapsulation;
+package com.amigoscode._3_oop._1_encapsulation;
/**
* Exercise: Encapsulation with BankAccount
diff --git a/src/main/java/com/amigoscode/oop/encapsulation/ImmutablePerson.java b/src/main/java/com/amigoscode/_3_oop/_1_encapsulation/ImmutablePerson.java
similarity index 97%
rename from src/main/java/com/amigoscode/oop/encapsulation/ImmutablePerson.java
rename to src/main/java/com/amigoscode/_3_oop/_1_encapsulation/ImmutablePerson.java
index 231b0f9..69223bf 100644
--- a/src/main/java/com/amigoscode/oop/encapsulation/ImmutablePerson.java
+++ b/src/main/java/com/amigoscode/_3_oop/_1_encapsulation/ImmutablePerson.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.encapsulation;
+package com.amigoscode._3_oop._1_encapsulation;
/**
* Exercise: Immutability
diff --git a/src/main/java/com/amigoscode/oop/inheritance/Animal.java b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/Animal.java
similarity index 96%
rename from src/main/java/com/amigoscode/oop/inheritance/Animal.java
rename to src/main/java/com/amigoscode/_3_oop/_2_inheritance/Animal.java
index 6466568..3eac414 100644
--- a/src/main/java/com/amigoscode/oop/inheritance/Animal.java
+++ b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/Animal.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.inheritance;
+package com.amigoscode._3_oop._2_inheritance;
/**
* Exercise: Inheritance - Base Class
diff --git a/src/main/java/com/amigoscode/oop/inheritance/Dog.java b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/Dog.java
similarity index 97%
rename from src/main/java/com/amigoscode/oop/inheritance/Dog.java
rename to src/main/java/com/amigoscode/_3_oop/_2_inheritance/Dog.java
index 8c9bf24..9d7d696 100644
--- a/src/main/java/com/amigoscode/oop/inheritance/Dog.java
+++ b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/Dog.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.inheritance;
+package com.amigoscode._3_oop._2_inheritance;
/**
* Exercise: Inheritance - Subclass
diff --git a/src/main/java/com/amigoscode/oop/inheritance/ElectricCar.java b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/ElectricCar.java
similarity index 97%
rename from src/main/java/com/amigoscode/oop/inheritance/ElectricCar.java
rename to src/main/java/com/amigoscode/_3_oop/_2_inheritance/ElectricCar.java
index 389b587..b2483db 100644
--- a/src/main/java/com/amigoscode/oop/inheritance/ElectricCar.java
+++ b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/ElectricCar.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.inheritance;
+package com.amigoscode._3_oop._2_inheritance;
/**
* Exercise: Inheritance - ElectricCar Subclass
diff --git a/src/main/java/com/amigoscode/oop/inheritance/Vehicle.java b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/Vehicle.java
similarity index 96%
rename from src/main/java/com/amigoscode/oop/inheritance/Vehicle.java
rename to src/main/java/com/amigoscode/_3_oop/_2_inheritance/Vehicle.java
index da4e670..b168453 100644
--- a/src/main/java/com/amigoscode/oop/inheritance/Vehicle.java
+++ b/src/main/java/com/amigoscode/_3_oop/_2_inheritance/Vehicle.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.inheritance;
+package com.amigoscode._3_oop._2_inheritance;
/**
* Exercise: Inheritance - Vehicle Base Class
diff --git a/src/main/java/com/amigoscode/oop/abstractclasses/Circle.java b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Circle.java
similarity index 96%
rename from src/main/java/com/amigoscode/oop/abstractclasses/Circle.java
rename to src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Circle.java
index 9f2e7b1..5b00683 100644
--- a/src/main/java/com/amigoscode/oop/abstractclasses/Circle.java
+++ b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Circle.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.abstractclasses;
+package com.amigoscode._3_oop._3_abstractclasses;
/**
* Exercise: Abstract Classes - Circle
diff --git a/src/main/java/com/amigoscode/oop/abstractclasses/Employee.java b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Employee.java
similarity index 97%
rename from src/main/java/com/amigoscode/oop/abstractclasses/Employee.java
rename to src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Employee.java
index 9b208a7..41fb45e 100644
--- a/src/main/java/com/amigoscode/oop/abstractclasses/Employee.java
+++ b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Employee.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.abstractclasses;
+package com.amigoscode._3_oop._3_abstractclasses;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/oop/abstractclasses/Rectangle.java b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Rectangle.java
similarity index 96%
rename from src/main/java/com/amigoscode/oop/abstractclasses/Rectangle.java
rename to src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Rectangle.java
index 66beaf9..87bc713 100644
--- a/src/main/java/com/amigoscode/oop/abstractclasses/Rectangle.java
+++ b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Rectangle.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.abstractclasses;
+package com.amigoscode._3_oop._3_abstractclasses;
/**
* Exercise: Abstract Classes - Rectangle
diff --git a/src/main/java/com/amigoscode/oop/abstractclasses/Shape.java b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Shape.java
similarity index 96%
rename from src/main/java/com/amigoscode/oop/abstractclasses/Shape.java
rename to src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Shape.java
index 7cdff11..6232c4c 100644
--- a/src/main/java/com/amigoscode/oop/abstractclasses/Shape.java
+++ b/src/main/java/com/amigoscode/_3_oop/_3_abstractclasses/Shape.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.abstractclasses;
+package com.amigoscode._3_oop._3_abstractclasses;
/**
* Exercise: Abstract Classes - Shape
diff --git a/src/main/java/com/amigoscode/oop/polymorphism/PaymentProcessor.java b/src/main/java/com/amigoscode/_3_oop/_4_polymorphism/PaymentProcessor.java
similarity index 98%
rename from src/main/java/com/amigoscode/oop/polymorphism/PaymentProcessor.java
rename to src/main/java/com/amigoscode/_3_oop/_4_polymorphism/PaymentProcessor.java
index bb52615..cb66c66 100644
--- a/src/main/java/com/amigoscode/oop/polymorphism/PaymentProcessor.java
+++ b/src/main/java/com/amigoscode/_3_oop/_4_polymorphism/PaymentProcessor.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.polymorphism;
+package com.amigoscode._3_oop._4_polymorphism;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/oop/polymorphism/ShapeCalculator.java b/src/main/java/com/amigoscode/_3_oop/_4_polymorphism/ShapeCalculator.java
similarity index 91%
rename from src/main/java/com/amigoscode/oop/polymorphism/ShapeCalculator.java
rename to src/main/java/com/amigoscode/_3_oop/_4_polymorphism/ShapeCalculator.java
index fe5d7ff..c0551bb 100644
--- a/src/main/java/com/amigoscode/oop/polymorphism/ShapeCalculator.java
+++ b/src/main/java/com/amigoscode/_3_oop/_4_polymorphism/ShapeCalculator.java
@@ -1,8 +1,8 @@
-package com.amigoscode.oop.polymorphism;
+package com.amigoscode._3_oop._4_polymorphism;
-import com.amigoscode.oop.abstractclasses.Circle;
-import com.amigoscode.oop.abstractclasses.Rectangle;
-import com.amigoscode.oop.abstractclasses.Shape;
+import com.amigoscode._3_oop._3_abstractclasses.Circle;
+import com.amigoscode._3_oop._3_abstractclasses.Rectangle;
+import com.amigoscode._3_oop._3_abstractclasses.Shape;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/oop/dependencyinjection/NotificationService.java b/src/main/java/com/amigoscode/_3_oop/_5_dependencyinjection/NotificationService.java
similarity index 97%
rename from src/main/java/com/amigoscode/oop/dependencyinjection/NotificationService.java
rename to src/main/java/com/amigoscode/_3_oop/_5_dependencyinjection/NotificationService.java
index 839109e..afbefd0 100644
--- a/src/main/java/com/amigoscode/oop/dependencyinjection/NotificationService.java
+++ b/src/main/java/com/amigoscode/_3_oop/_5_dependencyinjection/NotificationService.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.dependencyinjection;
+package com.amigoscode._3_oop._5_dependencyinjection;
/**
* Exercise: Dependency Injection - Notification Service
diff --git a/src/main/java/com/amigoscode/oop/dependencyinjection/OrderProcessor.java b/src/main/java/com/amigoscode/_3_oop/_5_dependencyinjection/OrderProcessor.java
similarity index 97%
rename from src/main/java/com/amigoscode/oop/dependencyinjection/OrderProcessor.java
rename to src/main/java/com/amigoscode/_3_oop/_5_dependencyinjection/OrderProcessor.java
index 58bcd5f..e63ec54 100644
--- a/src/main/java/com/amigoscode/oop/dependencyinjection/OrderProcessor.java
+++ b/src/main/java/com/amigoscode/_3_oop/_5_dependencyinjection/OrderProcessor.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.dependencyinjection;
+package com.amigoscode._3_oop._5_dependencyinjection;
/**
* Exercise: Dependency Injection - Order Processing
diff --git a/src/main/java/com/amigoscode/oop/solid/SolidExercises.java b/src/main/java/com/amigoscode/_3_oop/_6_solid/SolidExercises.java
similarity index 99%
rename from src/main/java/com/amigoscode/oop/solid/SolidExercises.java
rename to src/main/java/com/amigoscode/_3_oop/_6_solid/SolidExercises.java
index b260f94..62c6a7d 100644
--- a/src/main/java/com/amigoscode/oop/solid/SolidExercises.java
+++ b/src/main/java/com/amigoscode/_3_oop/_6_solid/SolidExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.oop.solid;
+package com.amigoscode._3_oop._6_solid;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/datastructures/arrays/ArrayBasics.java b/src/main/java/com/amigoscode/_4_datastructures/_1_arrays/ArrayBasics.java
similarity index 95%
rename from src/main/java/com/amigoscode/datastructures/arrays/ArrayBasics.java
rename to src/main/java/com/amigoscode/_4_datastructures/_1_arrays/ArrayBasics.java
index fbe7f35..7e1c276 100644
--- a/src/main/java/com/amigoscode/datastructures/arrays/ArrayBasics.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_1_arrays/ArrayBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.arrays;
+package com.amigoscode._4_datastructures._1_arrays;
// Exercise: Array Basics
// Learn how to create, manipulate, and search through arrays in Java.
diff --git a/src/main/java/com/amigoscode/datastructures/arrays/TwoDArrays.java b/src/main/java/com/amigoscode/_4_datastructures/_1_arrays/TwoDArrays.java
similarity index 95%
rename from src/main/java/com/amigoscode/datastructures/arrays/TwoDArrays.java
rename to src/main/java/com/amigoscode/_4_datastructures/_1_arrays/TwoDArrays.java
index 04b43ae..3353138 100644
--- a/src/main/java/com/amigoscode/datastructures/arrays/TwoDArrays.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_1_arrays/TwoDArrays.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.arrays;
+package com.amigoscode._4_datastructures._1_arrays;
// Exercise: Two-Dimensional Arrays
// Learn how to create and work with 2D arrays (matrices) in Java.
diff --git a/src/main/java/com/amigoscode/datastructures/arraylist/ArrayListBasics.java b/src/main/java/com/amigoscode/_4_datastructures/_2_arraylist/ArrayListBasics.java
similarity index 94%
rename from src/main/java/com/amigoscode/datastructures/arraylist/ArrayListBasics.java
rename to src/main/java/com/amigoscode/_4_datastructures/_2_arraylist/ArrayListBasics.java
index 99bdd7b..7603553 100644
--- a/src/main/java/com/amigoscode/datastructures/arraylist/ArrayListBasics.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_2_arraylist/ArrayListBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.arraylist;
+package com.amigoscode._4_datastructures._2_arraylist;
// Exercise: ArrayList Basics
// Learn the fundamental operations of ArrayList - Java's resizable array implementation.
diff --git a/src/main/java/com/amigoscode/datastructures/arraylist/ArrayListOperations.java b/src/main/java/com/amigoscode/_4_datastructures/_2_arraylist/ArrayListOperations.java
similarity index 95%
rename from src/main/java/com/amigoscode/datastructures/arraylist/ArrayListOperations.java
rename to src/main/java/com/amigoscode/_4_datastructures/_2_arraylist/ArrayListOperations.java
index eee6abc..0243935 100644
--- a/src/main/java/com/amigoscode/datastructures/arraylist/ArrayListOperations.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_2_arraylist/ArrayListOperations.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.arraylist;
+package com.amigoscode._4_datastructures._2_arraylist;
// Exercise: ArrayList Operations
// Learn advanced ArrayList operations including sorting, reversing, and converting.
diff --git a/src/main/java/com/amigoscode/datastructures/stacks/StackExercises.java b/src/main/java/com/amigoscode/_4_datastructures/_3_stacks/StackExercises.java
similarity index 97%
rename from src/main/java/com/amigoscode/datastructures/stacks/StackExercises.java
rename to src/main/java/com/amigoscode/_4_datastructures/_3_stacks/StackExercises.java
index 41c0fc9..827dbdd 100644
--- a/src/main/java/com/amigoscode/datastructures/stacks/StackExercises.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_3_stacks/StackExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.stacks;
+package com.amigoscode._4_datastructures._3_stacks;
// Exercise: Stack Operations
// Learn how to use the Stack data structure - Last In, First Out (LIFO).
diff --git a/src/main/java/com/amigoscode/datastructures/queues/QueueExercises.java b/src/main/java/com/amigoscode/_4_datastructures/_4_queues/QueueExercises.java
similarity index 97%
rename from src/main/java/com/amigoscode/datastructures/queues/QueueExercises.java
rename to src/main/java/com/amigoscode/_4_datastructures/_4_queues/QueueExercises.java
index fc95dd2..651d004 100644
--- a/src/main/java/com/amigoscode/datastructures/queues/QueueExercises.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_4_queues/QueueExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.queues;
+package com.amigoscode._4_datastructures._4_queues;
// Exercise: Queue Operations
// Learn how to use Queue and PriorityQueue - First In, First Out (FIFO) and priority-based ordering.
diff --git a/src/main/java/com/amigoscode/datastructures/linkedlists/LinkedListExercises.java b/src/main/java/com/amigoscode/_4_datastructures/_5_linkedlists/LinkedListExercises.java
similarity index 95%
rename from src/main/java/com/amigoscode/datastructures/linkedlists/LinkedListExercises.java
rename to src/main/java/com/amigoscode/_4_datastructures/_5_linkedlists/LinkedListExercises.java
index 842ff1b..232f2f0 100644
--- a/src/main/java/com/amigoscode/datastructures/linkedlists/LinkedListExercises.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_5_linkedlists/LinkedListExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.linkedlists;
+package com.amigoscode._4_datastructures._5_linkedlists;
// Exercise: LinkedList Operations
// Learn how to use LinkedList - a doubly-linked list implementation in Java.
diff --git a/src/main/java/com/amigoscode/datastructures/linkedlists/LinkedListVsArrayList.java b/src/main/java/com/amigoscode/_4_datastructures/_5_linkedlists/LinkedListVsArrayList.java
similarity index 96%
rename from src/main/java/com/amigoscode/datastructures/linkedlists/LinkedListVsArrayList.java
rename to src/main/java/com/amigoscode/_4_datastructures/_5_linkedlists/LinkedListVsArrayList.java
index feec2fb..e120b5c 100644
--- a/src/main/java/com/amigoscode/datastructures/linkedlists/LinkedListVsArrayList.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_5_linkedlists/LinkedListVsArrayList.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.linkedlists;
+package com.amigoscode._4_datastructures._5_linkedlists;
// Exercise: LinkedList vs ArrayList Performance Comparison
// Understand when to use LinkedList vs ArrayList by measuring operation times.
diff --git a/src/main/java/com/amigoscode/datastructures/sets/HashSetExercises.java b/src/main/java/com/amigoscode/_4_datastructures/_6_sets/HashSetExercises.java
similarity index 97%
rename from src/main/java/com/amigoscode/datastructures/sets/HashSetExercises.java
rename to src/main/java/com/amigoscode/_4_datastructures/_6_sets/HashSetExercises.java
index 92f5adf..ad5d1f2 100644
--- a/src/main/java/com/amigoscode/datastructures/sets/HashSetExercises.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_6_sets/HashSetExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.sets;
+package com.amigoscode._4_datastructures._6_sets;
// Exercise: HashSet Operations
// Learn how to use HashSet - an unordered collection that contains no duplicate elements.
diff --git a/src/main/java/com/amigoscode/datastructures/sets/TreeSetExercises.java b/src/main/java/com/amigoscode/_4_datastructures/_6_sets/TreeSetExercises.java
similarity index 95%
rename from src/main/java/com/amigoscode/datastructures/sets/TreeSetExercises.java
rename to src/main/java/com/amigoscode/_4_datastructures/_6_sets/TreeSetExercises.java
index 908e670..28d1f8c 100644
--- a/src/main/java/com/amigoscode/datastructures/sets/TreeSetExercises.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_6_sets/TreeSetExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.sets;
+package com.amigoscode._4_datastructures._6_sets;
// Exercise: TreeSet Operations
// Learn how to use TreeSet - a sorted set implementation backed by a TreeMap.
diff --git a/src/main/java/com/amigoscode/datastructures/maps/HashMapExercises.java b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/HashMapExercises.java
similarity index 96%
rename from src/main/java/com/amigoscode/datastructures/maps/HashMapExercises.java
rename to src/main/java/com/amigoscode/_4_datastructures/_7_maps/HashMapExercises.java
index 25cf26d..4771270 100644
--- a/src/main/java/com/amigoscode/datastructures/maps/HashMapExercises.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/HashMapExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.maps;
+package com.amigoscode._4_datastructures._7_maps;
// Exercise: HashMap Operations
// Learn how to use HashMap - a key-value pair data structure for fast lookups.
diff --git a/src/main/java/com/amigoscode/datastructures/maps/HashMapWordCount.java b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/HashMapWordCount.java
similarity index 96%
rename from src/main/java/com/amigoscode/datastructures/maps/HashMapWordCount.java
rename to src/main/java/com/amigoscode/_4_datastructures/_7_maps/HashMapWordCount.java
index 481a00c..9b967b2 100644
--- a/src/main/java/com/amigoscode/datastructures/maps/HashMapWordCount.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/HashMapWordCount.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.maps;
+package com.amigoscode._4_datastructures._7_maps;
// Exercise: Word Frequency Counter using HashMap
// A practical exercise to count word occurrences in a sentence.
diff --git a/src/main/java/com/amigoscode/datastructures/maps/MapAdvanced.java b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/MapAdvanced.java
similarity index 97%
rename from src/main/java/com/amigoscode/datastructures/maps/MapAdvanced.java
rename to src/main/java/com/amigoscode/_4_datastructures/_7_maps/MapAdvanced.java
index 285d933..515530d 100644
--- a/src/main/java/com/amigoscode/datastructures/maps/MapAdvanced.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/MapAdvanced.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.maps;
+package com.amigoscode._4_datastructures._7_maps;
// Exercise: Advanced Map Operations (Java 8+)
// Learn modern Map methods: getOrDefault, putIfAbsent, computeIfAbsent, merge, replaceAll, and immutable maps.
diff --git a/src/main/java/com/amigoscode/datastructures/maps/TreeMapExercises.java b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/TreeMapExercises.java
similarity index 96%
rename from src/main/java/com/amigoscode/datastructures/maps/TreeMapExercises.java
rename to src/main/java/com/amigoscode/_4_datastructures/_7_maps/TreeMapExercises.java
index 327944b..afd6a3d 100644
--- a/src/main/java/com/amigoscode/datastructures/maps/TreeMapExercises.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_7_maps/TreeMapExercises.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.maps;
+package com.amigoscode._4_datastructures._7_maps;
// Exercise: TreeMap Operations
// Learn how to use TreeMap - a sorted map implementation that maintains keys in natural order.
diff --git a/src/main/java/com/amigoscode/datastructures/challenge/DataStructureChallenge.java b/src/main/java/com/amigoscode/_4_datastructures/_8_challenge/DataStructureChallenge.java
similarity index 97%
rename from src/main/java/com/amigoscode/datastructures/challenge/DataStructureChallenge.java
rename to src/main/java/com/amigoscode/_4_datastructures/_8_challenge/DataStructureChallenge.java
index 6c849e3..2c15a23 100644
--- a/src/main/java/com/amigoscode/datastructures/challenge/DataStructureChallenge.java
+++ b/src/main/java/com/amigoscode/_4_datastructures/_8_challenge/DataStructureChallenge.java
@@ -1,4 +1,4 @@
-package com.amigoscode.datastructures.challenge;
+package com.amigoscode._4_datastructures._8_challenge;
// Exercise: Data Structure Challenge
// Combine multiple data structures to solve a real-world problem.
diff --git a/src/main/java/com/amigoscode/generics/classcastexception/ClassCastProblem.java b/src/main/java/com/amigoscode/_5_generics/_1_classcastexception/ClassCastProblem.java
similarity index 96%
rename from src/main/java/com/amigoscode/generics/classcastexception/ClassCastProblem.java
rename to src/main/java/com/amigoscode/_5_generics/_1_classcastexception/ClassCastProblem.java
index 983027d..8023215 100644
--- a/src/main/java/com/amigoscode/generics/classcastexception/ClassCastProblem.java
+++ b/src/main/java/com/amigoscode/_5_generics/_1_classcastexception/ClassCastProblem.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.classcastexception;
+package com.amigoscode._5_generics._1_classcastexception;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/generics/typeparameters/TypeParameterBasics.java b/src/main/java/com/amigoscode/_5_generics/_2_typeparameters/TypeParameterBasics.java
similarity index 96%
rename from src/main/java/com/amigoscode/generics/typeparameters/TypeParameterBasics.java
rename to src/main/java/com/amigoscode/_5_generics/_2_typeparameters/TypeParameterBasics.java
index 143512d..a7d5754 100644
--- a/src/main/java/com/amigoscode/generics/typeparameters/TypeParameterBasics.java
+++ b/src/main/java/com/amigoscode/_5_generics/_2_typeparameters/TypeParameterBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.typeparameters;
+package com.amigoscode._5_generics._2_typeparameters;
/**
* Exercise: Type Parameter Basics
diff --git a/src/main/java/com/amigoscode/generics/genericclasses/Box.java b/src/main/java/com/amigoscode/_5_generics/_3_genericclasses/Box.java
similarity index 95%
rename from src/main/java/com/amigoscode/generics/genericclasses/Box.java
rename to src/main/java/com/amigoscode/_5_generics/_3_genericclasses/Box.java
index bd400ad..c75b69a 100644
--- a/src/main/java/com/amigoscode/generics/genericclasses/Box.java
+++ b/src/main/java/com/amigoscode/_5_generics/_3_genericclasses/Box.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.genericclasses;
+package com.amigoscode._5_generics._3_genericclasses;
/**
* Exercise: Generic Box Class
diff --git a/src/main/java/com/amigoscode/generics/genericclasses/Pair.java b/src/main/java/com/amigoscode/_5_generics/_3_genericclasses/Pair.java
similarity index 96%
rename from src/main/java/com/amigoscode/generics/genericclasses/Pair.java
rename to src/main/java/com/amigoscode/_5_generics/_3_genericclasses/Pair.java
index d0220f1..15a3809 100644
--- a/src/main/java/com/amigoscode/generics/genericclasses/Pair.java
+++ b/src/main/java/com/amigoscode/_5_generics/_3_genericclasses/Pair.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.genericclasses;
+package com.amigoscode._5_generics._3_genericclasses;
import java.util.Objects;
diff --git a/src/main/java/com/amigoscode/generics/genericmethods/GenericMethods.java b/src/main/java/com/amigoscode/_5_generics/_4_genericmethods/GenericMethods.java
similarity index 97%
rename from src/main/java/com/amigoscode/generics/genericmethods/GenericMethods.java
rename to src/main/java/com/amigoscode/_5_generics/_4_genericmethods/GenericMethods.java
index c5df700..f7fea7e 100644
--- a/src/main/java/com/amigoscode/generics/genericmethods/GenericMethods.java
+++ b/src/main/java/com/amigoscode/_5_generics/_4_genericmethods/GenericMethods.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.genericmethods;
+package com.amigoscode._5_generics._4_genericmethods;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/com/amigoscode/generics/genericmethods/GenericSwap.java b/src/main/java/com/amigoscode/_5_generics/_4_genericmethods/GenericSwap.java
similarity index 96%
rename from src/main/java/com/amigoscode/generics/genericmethods/GenericSwap.java
rename to src/main/java/com/amigoscode/_5_generics/_4_genericmethods/GenericSwap.java
index da103ef..531a96c 100644
--- a/src/main/java/com/amigoscode/generics/genericmethods/GenericSwap.java
+++ b/src/main/java/com/amigoscode/_5_generics/_4_genericmethods/GenericSwap.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.genericmethods;
+package com.amigoscode._5_generics._4_genericmethods;
import java.util.Arrays;
diff --git a/src/main/java/com/amigoscode/generics/boundedtypes/MultipleBounds.java b/src/main/java/com/amigoscode/_5_generics/_5_boundedtypes/MultipleBounds.java
similarity index 97%
rename from src/main/java/com/amigoscode/generics/boundedtypes/MultipleBounds.java
rename to src/main/java/com/amigoscode/_5_generics/_5_boundedtypes/MultipleBounds.java
index 8918ffb..603eaf0 100644
--- a/src/main/java/com/amigoscode/generics/boundedtypes/MultipleBounds.java
+++ b/src/main/java/com/amigoscode/_5_generics/_5_boundedtypes/MultipleBounds.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.boundedtypes;
+package com.amigoscode._5_generics._5_boundedtypes;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/generics/boundedtypes/UpperBound.java b/src/main/java/com/amigoscode/_5_generics/_5_boundedtypes/UpperBound.java
similarity index 97%
rename from src/main/java/com/amigoscode/generics/boundedtypes/UpperBound.java
rename to src/main/java/com/amigoscode/_5_generics/_5_boundedtypes/UpperBound.java
index d596899..aee4928 100644
--- a/src/main/java/com/amigoscode/generics/boundedtypes/UpperBound.java
+++ b/src/main/java/com/amigoscode/_5_generics/_5_boundedtypes/UpperBound.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.boundedtypes;
+package com.amigoscode._5_generics._5_boundedtypes;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/generics/wildcards/LowerBoundedWildcard.java b/src/main/java/com/amigoscode/_5_generics/_6_wildcards/LowerBoundedWildcard.java
similarity index 98%
rename from src/main/java/com/amigoscode/generics/wildcards/LowerBoundedWildcard.java
rename to src/main/java/com/amigoscode/_5_generics/_6_wildcards/LowerBoundedWildcard.java
index f415c28..0e75d23 100644
--- a/src/main/java/com/amigoscode/generics/wildcards/LowerBoundedWildcard.java
+++ b/src/main/java/com/amigoscode/_5_generics/_6_wildcards/LowerBoundedWildcard.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.wildcards;
+package com.amigoscode._5_generics._6_wildcards;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/com/amigoscode/generics/wildcards/UnboundedWildcard.java b/src/main/java/com/amigoscode/_5_generics/_6_wildcards/UnboundedWildcard.java
similarity index 97%
rename from src/main/java/com/amigoscode/generics/wildcards/UnboundedWildcard.java
rename to src/main/java/com/amigoscode/_5_generics/_6_wildcards/UnboundedWildcard.java
index b64985e..d4ba32c 100644
--- a/src/main/java/com/amigoscode/generics/wildcards/UnboundedWildcard.java
+++ b/src/main/java/com/amigoscode/_5_generics/_6_wildcards/UnboundedWildcard.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.wildcards;
+package com.amigoscode._5_generics._6_wildcards;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/generics/wildcards/UpperBoundedWildcard.java b/src/main/java/com/amigoscode/_5_generics/_6_wildcards/UpperBoundedWildcard.java
similarity index 97%
rename from src/main/java/com/amigoscode/generics/wildcards/UpperBoundedWildcard.java
rename to src/main/java/com/amigoscode/_5_generics/_6_wildcards/UpperBoundedWildcard.java
index 7016ed0..1d1f94c 100644
--- a/src/main/java/com/amigoscode/generics/wildcards/UpperBoundedWildcard.java
+++ b/src/main/java/com/amigoscode/_5_generics/_6_wildcards/UpperBoundedWildcard.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.wildcards;
+package com.amigoscode._5_generics._6_wildcards;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/com/amigoscode/generics/typeerasure/TypeErasureDemo.java b/src/main/java/com/amigoscode/_5_generics/_7_typeerasure/TypeErasureDemo.java
similarity index 98%
rename from src/main/java/com/amigoscode/generics/typeerasure/TypeErasureDemo.java
rename to src/main/java/com/amigoscode/_5_generics/_7_typeerasure/TypeErasureDemo.java
index b195d96..4c81829 100644
--- a/src/main/java/com/amigoscode/generics/typeerasure/TypeErasureDemo.java
+++ b/src/main/java/com/amigoscode/_5_generics/_7_typeerasure/TypeErasureDemo.java
@@ -1,4 +1,4 @@
-package com.amigoscode.generics.typeerasure;
+package com.amigoscode._5_generics._7_typeerasure;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/FunctionalInterfaceBasics.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/FunctionalInterfaceBasics.java
similarity index 96%
rename from src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/FunctionalInterfaceBasics.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/FunctionalInterfaceBasics.java
index a9fc7ab..427515e 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/FunctionalInterfaceBasics.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/FunctionalInterfaceBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.gettingstarted;
+package com.amigoscode._6_functionalinterfaces._1_gettingstarted;
/**
* Exercise: Functional Interface Basics
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/LambdaExpressions.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/LambdaExpressions.java
similarity index 97%
rename from src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/LambdaExpressions.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/LambdaExpressions.java
index 4c8f362..b672d2a 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/LambdaExpressions.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/LambdaExpressions.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.gettingstarted;
+package com.amigoscode._6_functionalinterfaces._1_gettingstarted;
import java.util.Arrays;
import java.util.Comparator;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/MethodReferences.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/MethodReferences.java
similarity index 97%
rename from src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/MethodReferences.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/MethodReferences.java
index e826728..7a2c8ad 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/gettingstarted/MethodReferences.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_1_gettingstarted/MethodReferences.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.gettingstarted;
+package com.amigoscode._6_functionalinterfaces._1_gettingstarted;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/BiFunctionExercise.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/BiFunctionExercise.java
similarity index 96%
rename from src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/BiFunctionExercise.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/BiFunctionExercise.java
index 50062c0..088048f 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/BiFunctionExercise.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/BiFunctionExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.functionalinterfaces;
+package com.amigoscode._6_functionalinterfaces._2_functionalinterfaces;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/ConsumerExercise.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/ConsumerExercise.java
similarity index 97%
rename from src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/ConsumerExercise.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/ConsumerExercise.java
index 6c3cc65..c9c1c6a 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/ConsumerExercise.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/ConsumerExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.functionalinterfaces;
+package com.amigoscode._6_functionalinterfaces._2_functionalinterfaces;
import java.util.Arrays;
import java.util.HashMap;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/FunctionExercise.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/FunctionExercise.java
similarity index 97%
rename from src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/FunctionExercise.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/FunctionExercise.java
index f104795..29b4b87 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/FunctionExercise.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/FunctionExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.functionalinterfaces;
+package com.amigoscode._6_functionalinterfaces._2_functionalinterfaces;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/PredicateExercise.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/PredicateExercise.java
similarity index 96%
rename from src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/PredicateExercise.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/PredicateExercise.java
index 585e711..cbd7d8c 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/PredicateExercise.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/PredicateExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.functionalinterfaces;
+package com.amigoscode._6_functionalinterfaces._2_functionalinterfaces;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/SupplierExercise.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/SupplierExercise.java
similarity index 96%
rename from src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/SupplierExercise.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/SupplierExercise.java
index 1607444..65d140f 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/functionalinterfaces/SupplierExercise.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_2_functionalinterfaces/SupplierExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.functionalinterfaces;
+package com.amigoscode._6_functionalinterfaces._2_functionalinterfaces;
import java.time.LocalDateTime;
import java.util.ArrayList;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/extending/CombinatorPattern.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_3_extending/CombinatorPattern.java
similarity index 98%
rename from src/main/java/com/amigoscode/functionalinterfaces/extending/CombinatorPattern.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_3_extending/CombinatorPattern.java
index 9ed92c8..b9a607e 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/extending/CombinatorPattern.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_3_extending/CombinatorPattern.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.extending;
+package com.amigoscode._6_functionalinterfaces._3_extending;
import java.util.function.Function;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/extending/ExtendingInterfaces.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_3_extending/ExtendingInterfaces.java
similarity index 97%
rename from src/main/java/com/amigoscode/functionalinterfaces/extending/ExtendingInterfaces.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_3_extending/ExtendingInterfaces.java
index 46a9b28..f7c16e0 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/extending/ExtendingInterfaces.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_3_extending/ExtendingInterfaces.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.extending;
+package com.amigoscode._6_functionalinterfaces._3_extending;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/callbacks/CallbackExercise.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_4_callbacks/CallbackExercise.java
similarity index 97%
rename from src/main/java/com/amigoscode/functionalinterfaces/callbacks/CallbackExercise.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_4_callbacks/CallbackExercise.java
index da437c8..37e91db 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/callbacks/CallbackExercise.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_4_callbacks/CallbackExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.callbacks;
+package com.amigoscode._6_functionalinterfaces._4_callbacks;
import java.util.function.Consumer;
diff --git a/src/main/java/com/amigoscode/functionalinterfaces/callbacks/EventProcessor.java b/src/main/java/com/amigoscode/_6_functionalinterfaces/_4_callbacks/EventProcessor.java
similarity index 97%
rename from src/main/java/com/amigoscode/functionalinterfaces/callbacks/EventProcessor.java
rename to src/main/java/com/amigoscode/_6_functionalinterfaces/_4_callbacks/EventProcessor.java
index 1bf2336..cf963eb 100644
--- a/src/main/java/com/amigoscode/functionalinterfaces/callbacks/EventProcessor.java
+++ b/src/main/java/com/amigoscode/_6_functionalinterfaces/_4_callbacks/EventProcessor.java
@@ -1,4 +1,4 @@
-package com.amigoscode.functionalinterfaces.callbacks;
+package com.amigoscode._6_functionalinterfaces._4_callbacks;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/src/main/java/com/amigoscode/streams/collectors/CollectorsExercise.java b/src/main/java/com/amigoscode/_7_streams/_10_collectors/CollectorsExercise.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/collectors/CollectorsExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_10_collectors/CollectorsExercise.java
index 8e747ef..05afe74 100644
--- a/src/main/java/com/amigoscode/streams/collectors/CollectorsExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_10_collectors/CollectorsExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.collectors;
+package com.amigoscode._7_streams._10_collectors;
import java.util.List;
import java.util.Map;
diff --git a/src/main/java/com/amigoscode/streams/understanding/LazyStreams.java b/src/main/java/com/amigoscode/_7_streams/_11_understanding/LazyStreams.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/understanding/LazyStreams.java
rename to src/main/java/com/amigoscode/_7_streams/_11_understanding/LazyStreams.java
index 86661c9..f7f31c2 100644
--- a/src/main/java/com/amigoscode/streams/understanding/LazyStreams.java
+++ b/src/main/java/com/amigoscode/_7_streams/_11_understanding/LazyStreams.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.understanding;
+package com.amigoscode._7_streams._11_understanding;
import java.util.List;
import java.util.stream.Stream;
diff --git a/src/main/java/com/amigoscode/streams/challenge/StreamsChallenge.java b/src/main/java/com/amigoscode/_7_streams/_12_challenge/StreamsChallenge.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/challenge/StreamsChallenge.java
rename to src/main/java/com/amigoscode/_7_streams/_12_challenge/StreamsChallenge.java
index 51a7904..40ea426 100644
--- a/src/main/java/com/amigoscode/streams/challenge/StreamsChallenge.java
+++ b/src/main/java/com/amigoscode/_7_streams/_12_challenge/StreamsChallenge.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.challenge;
+package com.amigoscode._7_streams._12_challenge;
import java.time.LocalDate;
import java.time.Month;
diff --git a/src/main/java/com/amigoscode/streams/basics/CreatingStreams.java b/src/main/java/com/amigoscode/_7_streams/_1_basics/CreatingStreams.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/basics/CreatingStreams.java
rename to src/main/java/com/amigoscode/_7_streams/_1_basics/CreatingStreams.java
index 7365ab5..065336d 100644
--- a/src/main/java/com/amigoscode/streams/basics/CreatingStreams.java
+++ b/src/main/java/com/amigoscode/_7_streams/_1_basics/CreatingStreams.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.basics;
+package com.amigoscode._7_streams._1_basics;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/streams/basics/FilterBasics.java b/src/main/java/com/amigoscode/_7_streams/_1_basics/FilterBasics.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/basics/FilterBasics.java
rename to src/main/java/com/amigoscode/_7_streams/_1_basics/FilterBasics.java
index 503ad3b..ecb1416 100644
--- a/src/main/java/com/amigoscode/streams/basics/FilterBasics.java
+++ b/src/main/java/com/amigoscode/_7_streams/_1_basics/FilterBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.basics;
+package com.amigoscode._7_streams._1_basics;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/streams/basics/ForEachAndCollect.java b/src/main/java/com/amigoscode/_7_streams/_1_basics/ForEachAndCollect.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/basics/ForEachAndCollect.java
rename to src/main/java/com/amigoscode/_7_streams/_1_basics/ForEachAndCollect.java
index b1bbcb9..78fd0a3 100644
--- a/src/main/java/com/amigoscode/streams/basics/ForEachAndCollect.java
+++ b/src/main/java/com/amigoscode/_7_streams/_1_basics/ForEachAndCollect.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.basics;
+package com.amigoscode._7_streams._1_basics;
import java.util.ArrayList;
import java.util.LinkedList;
diff --git a/src/main/java/com/amigoscode/streams/basics/MapBasics.java b/src/main/java/com/amigoscode/_7_streams/_1_basics/MapBasics.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/basics/MapBasics.java
rename to src/main/java/com/amigoscode/_7_streams/_1_basics/MapBasics.java
index 7b51b18..9b09d63 100644
--- a/src/main/java/com/amigoscode/streams/basics/MapBasics.java
+++ b/src/main/java/com/amigoscode/_7_streams/_1_basics/MapBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.basics;
+package com.amigoscode._7_streams._1_basics;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/src/main/java/com/amigoscode/streams/basics/ReduceBasics.java b/src/main/java/com/amigoscode/_7_streams/_1_basics/ReduceBasics.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/basics/ReduceBasics.java
rename to src/main/java/com/amigoscode/_7_streams/_1_basics/ReduceBasics.java
index 47f8ffd..977523d 100644
--- a/src/main/java/com/amigoscode/streams/basics/ReduceBasics.java
+++ b/src/main/java/com/amigoscode/_7_streams/_1_basics/ReduceBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.basics;
+package com.amigoscode._7_streams._1_basics;
import java.util.List;
import java.util.Optional;
diff --git a/src/main/java/com/amigoscode/streams/intstreams/IntStreamBasics.java b/src/main/java/com/amigoscode/_7_streams/_2_intstreams/IntStreamBasics.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/intstreams/IntStreamBasics.java
rename to src/main/java/com/amigoscode/_7_streams/_2_intstreams/IntStreamBasics.java
index f448e92..afffc89 100644
--- a/src/main/java/com/amigoscode/streams/intstreams/IntStreamBasics.java
+++ b/src/main/java/com/amigoscode/_7_streams/_2_intstreams/IntStreamBasics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.intstreams;
+package com.amigoscode._7_streams._2_intstreams;
import java.util.List;
import java.util.OptionalDouble;
diff --git a/src/main/java/com/amigoscode/streams/intstreams/IntStreamIterate.java b/src/main/java/com/amigoscode/_7_streams/_2_intstreams/IntStreamIterate.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/intstreams/IntStreamIterate.java
rename to src/main/java/com/amigoscode/_7_streams/_2_intstreams/IntStreamIterate.java
index c2debc8..91d31d9 100644
--- a/src/main/java/com/amigoscode/streams/intstreams/IntStreamIterate.java
+++ b/src/main/java/com/amigoscode/_7_streams/_2_intstreams/IntStreamIterate.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.intstreams;
+package com.amigoscode._7_streams._2_intstreams;
import java.util.stream.DoubleStream;
import java.util.stream.IntStream;
diff --git a/src/main/java/com/amigoscode/streams/minmax/MinMax.java b/src/main/java/com/amigoscode/_7_streams/_3_minmax/MinMax.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/minmax/MinMax.java
rename to src/main/java/com/amigoscode/_7_streams/_3_minmax/MinMax.java
index 1a896df..a6a1e18 100644
--- a/src/main/java/com/amigoscode/streams/minmax/MinMax.java
+++ b/src/main/java/com/amigoscode/_7_streams/_3_minmax/MinMax.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.minmax;
+package com.amigoscode._7_streams._3_minmax;
import java.util.Comparator;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/streams/duplicates/DistinctExercise.java b/src/main/java/com/amigoscode/_7_streams/_4_duplicates/DistinctExercise.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/duplicates/DistinctExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_4_duplicates/DistinctExercise.java
index d0ac4a4..cad7717 100644
--- a/src/main/java/com/amigoscode/streams/duplicates/DistinctExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_4_duplicates/DistinctExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.duplicates;
+package com.amigoscode._7_streams._4_duplicates;
import java.util.List;
import java.util.Objects;
diff --git a/src/main/java/com/amigoscode/streams/filtering/FilterExercise.java b/src/main/java/com/amigoscode/_7_streams/_5_filtering/FilterExercise.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/filtering/FilterExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_5_filtering/FilterExercise.java
index e329ac4..33a2aa1 100644
--- a/src/main/java/com/amigoscode/streams/filtering/FilterExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_5_filtering/FilterExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.filtering;
+package com.amigoscode._7_streams._5_filtering;
import java.util.List;
import java.util.function.Predicate;
diff --git a/src/main/java/com/amigoscode/streams/filtering/FindAndMatch.java b/src/main/java/com/amigoscode/_7_streams/_5_filtering/FindAndMatch.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/filtering/FindAndMatch.java
rename to src/main/java/com/amigoscode/_7_streams/_5_filtering/FindAndMatch.java
index 258db67..ccb6eea 100644
--- a/src/main/java/com/amigoscode/streams/filtering/FindAndMatch.java
+++ b/src/main/java/com/amigoscode/_7_streams/_5_filtering/FindAndMatch.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.filtering;
+package com.amigoscode._7_streams._5_filtering;
import java.util.List;
import java.util.Optional;
diff --git a/src/main/java/com/amigoscode/streams/filtering/TakeWhileDropWhile.java b/src/main/java/com/amigoscode/_7_streams/_5_filtering/TakeWhileDropWhile.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/filtering/TakeWhileDropWhile.java
rename to src/main/java/com/amigoscode/_7_streams/_5_filtering/TakeWhileDropWhile.java
index 900d4a5..1a08be9 100644
--- a/src/main/java/com/amigoscode/streams/filtering/TakeWhileDropWhile.java
+++ b/src/main/java/com/amigoscode/_7_streams/_5_filtering/TakeWhileDropWhile.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.filtering;
+package com.amigoscode._7_streams._5_filtering;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/src/main/java/com/amigoscode/streams/transformations/FlatMapExercise.java b/src/main/java/com/amigoscode/_7_streams/_6_transformations/FlatMapExercise.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/transformations/FlatMapExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_6_transformations/FlatMapExercise.java
index 28fb08d..fb487e0 100644
--- a/src/main/java/com/amigoscode/streams/transformations/FlatMapExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_6_transformations/FlatMapExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.transformations;
+package com.amigoscode._7_streams._6_transformations;
import java.util.Arrays;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/streams/transformations/MapExercise.java b/src/main/java/com/amigoscode/_7_streams/_6_transformations/MapExercise.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/transformations/MapExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_6_transformations/MapExercise.java
index fcc40ae..9aa8936 100644
--- a/src/main/java/com/amigoscode/streams/transformations/MapExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_6_transformations/MapExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.transformations;
+package com.amigoscode._7_streams._6_transformations;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/src/main/java/com/amigoscode/streams/transformations/ReduceExercise.java b/src/main/java/com/amigoscode/_7_streams/_6_transformations/ReduceExercise.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/transformations/ReduceExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_6_transformations/ReduceExercise.java
index 49b45a6..63c8769 100644
--- a/src/main/java/com/amigoscode/streams/transformations/ReduceExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_6_transformations/ReduceExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.transformations;
+package com.amigoscode._7_streams._6_transformations;
import java.util.List;
import java.util.function.BinaryOperator;
diff --git a/src/main/java/com/amigoscode/streams/statistics/AverageAndSum.java b/src/main/java/com/amigoscode/_7_streams/_7_statistics/AverageAndSum.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/statistics/AverageAndSum.java
rename to src/main/java/com/amigoscode/_7_streams/_7_statistics/AverageAndSum.java
index 9762ace..8b7b690 100644
--- a/src/main/java/com/amigoscode/streams/statistics/AverageAndSum.java
+++ b/src/main/java/com/amigoscode/_7_streams/_7_statistics/AverageAndSum.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.statistics;
+package com.amigoscode._7_streams._7_statistics;
import java.util.List;
import java.util.OptionalDouble;
diff --git a/src/main/java/com/amigoscode/streams/statistics/CountMinMax.java b/src/main/java/com/amigoscode/_7_streams/_7_statistics/CountMinMax.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/statistics/CountMinMax.java
rename to src/main/java/com/amigoscode/_7_streams/_7_statistics/CountMinMax.java
index 3ebccf4..291fbff 100644
--- a/src/main/java/com/amigoscode/streams/statistics/CountMinMax.java
+++ b/src/main/java/com/amigoscode/_7_streams/_7_statistics/CountMinMax.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.statistics;
+package com.amigoscode._7_streams._7_statistics;
import java.util.Comparator;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/streams/statistics/GroupingAndCounting.java b/src/main/java/com/amigoscode/_7_streams/_7_statistics/GroupingAndCounting.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/statistics/GroupingAndCounting.java
rename to src/main/java/com/amigoscode/_7_streams/_7_statistics/GroupingAndCounting.java
index 65f3ffe..621d71f 100644
--- a/src/main/java/com/amigoscode/streams/statistics/GroupingAndCounting.java
+++ b/src/main/java/com/amigoscode/_7_streams/_7_statistics/GroupingAndCounting.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.statistics;
+package com.amigoscode._7_streams._7_statistics;
import java.util.Comparator;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/streams/statistics/GroupingBy.java b/src/main/java/com/amigoscode/_7_streams/_7_statistics/GroupingBy.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/statistics/GroupingBy.java
rename to src/main/java/com/amigoscode/_7_streams/_7_statistics/GroupingBy.java
index d632924..40b717f 100644
--- a/src/main/java/com/amigoscode/streams/statistics/GroupingBy.java
+++ b/src/main/java/com/amigoscode/_7_streams/_7_statistics/GroupingBy.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.statistics;
+package com.amigoscode._7_streams._7_statistics;
import java.util.List;
import java.util.Map;
diff --git a/src/main/java/com/amigoscode/streams/statistics/SummaryStatistics.java b/src/main/java/com/amigoscode/_7_streams/_7_statistics/SummaryStatistics.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/statistics/SummaryStatistics.java
rename to src/main/java/com/amigoscode/_7_streams/_7_statistics/SummaryStatistics.java
index 8821e49..bf74696 100644
--- a/src/main/java/com/amigoscode/streams/statistics/SummaryStatistics.java
+++ b/src/main/java/com/amigoscode/_7_streams/_7_statistics/SummaryStatistics.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.statistics;
+package com.amigoscode._7_streams._7_statistics;
import java.util.DoubleSummaryStatistics;
import java.util.IntSummaryStatistics;
diff --git a/src/main/java/com/amigoscode/streams/sorting/SortingExercise.java b/src/main/java/com/amigoscode/_7_streams/_8_sorting/SortingExercise.java
similarity index 98%
rename from src/main/java/com/amigoscode/streams/sorting/SortingExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_8_sorting/SortingExercise.java
index ae4be94..e714b37 100644
--- a/src/main/java/com/amigoscode/streams/sorting/SortingExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_8_sorting/SortingExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.sorting;
+package com.amigoscode._7_streams._8_sorting;
import java.util.Comparator;
import java.util.List;
diff --git a/src/main/java/com/amigoscode/streams/joiningstrings/JoiningExercise.java b/src/main/java/com/amigoscode/_7_streams/_9_joiningstrings/JoiningExercise.java
similarity index 97%
rename from src/main/java/com/amigoscode/streams/joiningstrings/JoiningExercise.java
rename to src/main/java/com/amigoscode/_7_streams/_9_joiningstrings/JoiningExercise.java
index 9f4a196..6516781 100644
--- a/src/main/java/com/amigoscode/streams/joiningstrings/JoiningExercise.java
+++ b/src/main/java/com/amigoscode/_7_streams/_9_joiningstrings/JoiningExercise.java
@@ -1,4 +1,4 @@
-package com.amigoscode.streams.joiningstrings;
+package com.amigoscode._7_streams._9_joiningstrings;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/src/main/java/com/amigoscode/testing/firsttest/Calculator.java b/src/main/java/com/amigoscode/_8_testing/_1_firsttest/Calculator.java
similarity index 92%
rename from src/main/java/com/amigoscode/testing/firsttest/Calculator.java
rename to src/main/java/com/amigoscode/_8_testing/_1_firsttest/Calculator.java
index 825ed38..6d67d4f 100644
--- a/src/main/java/com/amigoscode/testing/firsttest/Calculator.java
+++ b/src/main/java/com/amigoscode/_8_testing/_1_firsttest/Calculator.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.firsttest;
+package com.amigoscode._8_testing._1_firsttest;
/**
* A simple calculator class that students will write unit tests for.
diff --git a/src/main/java/com/amigoscode/testing/assertions/StringUtils.java b/src/main/java/com/amigoscode/_8_testing/_2_assertions/StringUtils.java
similarity index 97%
rename from src/main/java/com/amigoscode/testing/assertions/StringUtils.java
rename to src/main/java/com/amigoscode/_8_testing/_2_assertions/StringUtils.java
index 8c2be6e..b9c1ec3 100644
--- a/src/main/java/com/amigoscode/testing/assertions/StringUtils.java
+++ b/src/main/java/com/amigoscode/_8_testing/_2_assertions/StringUtils.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.assertions;
+package com.amigoscode._8_testing._2_assertions;
/**
* String utility class with various helper methods.
diff --git a/src/main/java/com/amigoscode/testing/scenarios/GradeCalculator.java b/src/main/java/com/amigoscode/_8_testing/_3_scenarios/GradeCalculator.java
similarity index 97%
rename from src/main/java/com/amigoscode/testing/scenarios/GradeCalculator.java
rename to src/main/java/com/amigoscode/_8_testing/_3_scenarios/GradeCalculator.java
index 4ff7c39..f3d8ff6 100644
--- a/src/main/java/com/amigoscode/testing/scenarios/GradeCalculator.java
+++ b/src/main/java/com/amigoscode/_8_testing/_3_scenarios/GradeCalculator.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.scenarios;
+package com.amigoscode._8_testing._3_scenarios;
/**
* Grade calculator that converts numeric scores to letter grades and GPA points.
diff --git a/src/main/java/com/amigoscode/testing/assertj/Person.java b/src/main/java/com/amigoscode/_8_testing/_5_assertj/Person.java
similarity index 97%
rename from src/main/java/com/amigoscode/testing/assertj/Person.java
rename to src/main/java/com/amigoscode/_8_testing/_5_assertj/Person.java
index c15a9a3..556df9f 100644
--- a/src/main/java/com/amigoscode/testing/assertj/Person.java
+++ b/src/main/java/com/amigoscode/_8_testing/_5_assertj/Person.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.assertj;
+package com.amigoscode._8_testing._5_assertj;
import java.util.Objects;
diff --git a/src/main/java/com/amigoscode/testing/parameterized/EmailValidator.java b/src/main/java/com/amigoscode/_8_testing/_6_parameterized/EmailValidator.java
similarity index 96%
rename from src/main/java/com/amigoscode/testing/parameterized/EmailValidator.java
rename to src/main/java/com/amigoscode/_8_testing/_6_parameterized/EmailValidator.java
index 7c91bec..8c3b000 100644
--- a/src/main/java/com/amigoscode/testing/parameterized/EmailValidator.java
+++ b/src/main/java/com/amigoscode/_8_testing/_6_parameterized/EmailValidator.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.parameterized;
+package com.amigoscode._8_testing._6_parameterized;
/**
* Email validation utility.
diff --git a/src/main/java/com/amigoscode/testing/exceptions/BankAccount.java b/src/main/java/com/amigoscode/_8_testing/_7_exceptions/BankAccount.java
similarity index 97%
rename from src/main/java/com/amigoscode/testing/exceptions/BankAccount.java
rename to src/main/java/com/amigoscode/_8_testing/_7_exceptions/BankAccount.java
index 0b4e24c..876431f 100644
--- a/src/main/java/com/amigoscode/testing/exceptions/BankAccount.java
+++ b/src/main/java/com/amigoscode/_8_testing/_7_exceptions/BankAccount.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.exceptions;
+package com.amigoscode._8_testing._7_exceptions;
/**
* A bank account class with deposit, withdraw, and transfer operations.
diff --git a/src/main/java/com/amigoscode/testing/exceptions/InsufficientFundsException.java b/src/main/java/com/amigoscode/_8_testing/_7_exceptions/InsufficientFundsException.java
similarity index 83%
rename from src/main/java/com/amigoscode/testing/exceptions/InsufficientFundsException.java
rename to src/main/java/com/amigoscode/_8_testing/_7_exceptions/InsufficientFundsException.java
index 8119367..9d6888b 100644
--- a/src/main/java/com/amigoscode/testing/exceptions/InsufficientFundsException.java
+++ b/src/main/java/com/amigoscode/_8_testing/_7_exceptions/InsufficientFundsException.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.exceptions;
+package com.amigoscode._8_testing._7_exceptions;
/**
* Custom exception thrown when a bank account has insufficient funds for an operation.
diff --git a/src/main/java/com/amigoscode/testing/tdd/PasswordValidator.java b/src/main/java/com/amigoscode/_8_testing/_8_tdd/PasswordValidator.java
similarity index 96%
rename from src/main/java/com/amigoscode/testing/tdd/PasswordValidator.java
rename to src/main/java/com/amigoscode/_8_testing/_8_tdd/PasswordValidator.java
index ec93feb..827139d 100644
--- a/src/main/java/com/amigoscode/testing/tdd/PasswordValidator.java
+++ b/src/main/java/com/amigoscode/_8_testing/_8_tdd/PasswordValidator.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.tdd;
+package com.amigoscode._8_testing._8_tdd;
/**
* TDD Exercise: Password Validator
diff --git a/src/main/java/com/amigoscode/testing/tdd/ShippingCostCalculator.java b/src/main/java/com/amigoscode/_8_testing/_8_tdd/ShippingCostCalculator.java
similarity index 96%
rename from src/main/java/com/amigoscode/testing/tdd/ShippingCostCalculator.java
rename to src/main/java/com/amigoscode/_8_testing/_8_tdd/ShippingCostCalculator.java
index c8d38b8..dafa824 100644
--- a/src/main/java/com/amigoscode/testing/tdd/ShippingCostCalculator.java
+++ b/src/main/java/com/amigoscode/_8_testing/_8_tdd/ShippingCostCalculator.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.tdd;
+package com.amigoscode._8_testing._8_tdd;
/**
* TDD Exercise: Shipping Cost Calculator
diff --git a/src/main/java/com/amigoscode/testing/mocking/Clock.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/Clock.java
similarity index 84%
rename from src/main/java/com/amigoscode/testing/mocking/Clock.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/Clock.java
index c7dd546..9d7bf5a 100644
--- a/src/main/java/com/amigoscode/testing/mocking/Clock.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/Clock.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import java.time.LocalDateTime;
diff --git a/src/main/java/com/amigoscode/testing/mocking/EmailService.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/EmailService.java
similarity index 89%
rename from src/main/java/com/amigoscode/testing/mocking/EmailService.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/EmailService.java
index 133485e..a273171 100644
--- a/src/main/java/com/amigoscode/testing/mocking/EmailService.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/EmailService.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
/**
* Email service interface for sending notifications.
diff --git a/src/main/java/com/amigoscode/testing/mocking/NotificationService.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/NotificationService.java
similarity index 95%
rename from src/main/java/com/amigoscode/testing/mocking/NotificationService.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/NotificationService.java
index bfb1fab..243e1c5 100644
--- a/src/main/java/com/amigoscode/testing/mocking/NotificationService.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/NotificationService.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
/**
* Service that sends notifications about order events using EmailService.
diff --git a/src/main/java/com/amigoscode/testing/mocking/Order.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/Order.java
similarity index 96%
rename from src/main/java/com/amigoscode/testing/mocking/Order.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/Order.java
index affbdbc..97406c0 100644
--- a/src/main/java/com/amigoscode/testing/mocking/Order.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/Order.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import java.util.Objects;
diff --git a/src/main/java/com/amigoscode/testing/mocking/OrderRepository.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/OrderRepository.java
similarity index 92%
rename from src/main/java/com/amigoscode/testing/mocking/OrderRepository.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/OrderRepository.java
index 2ed8121..fcfde7a 100644
--- a/src/main/java/com/amigoscode/testing/mocking/OrderRepository.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/OrderRepository.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import java.util.List;
import java.util.Optional;
diff --git a/src/main/java/com/amigoscode/testing/mocking/OrderService.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/OrderService.java
similarity index 98%
rename from src/main/java/com/amigoscode/testing/mocking/OrderService.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/OrderService.java
index 7b1fb54..e6ca198 100644
--- a/src/main/java/com/amigoscode/testing/mocking/OrderService.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/OrderService.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import java.util.List;
import java.util.Optional;
diff --git a/src/main/java/com/amigoscode/testing/mocking/PaymentService.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/PaymentService.java
similarity index 94%
rename from src/main/java/com/amigoscode/testing/mocking/PaymentService.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/PaymentService.java
index 5202b4e..0b946d9 100644
--- a/src/main/java/com/amigoscode/testing/mocking/PaymentService.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/PaymentService.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
/**
* Payment service interface representing an external payment gateway.
diff --git a/src/main/java/com/amigoscode/testing/mocking/TimedGreeter.java b/src/main/java/com/amigoscode/_8_testing/_9_mocking/TimedGreeter.java
similarity index 94%
rename from src/main/java/com/amigoscode/testing/mocking/TimedGreeter.java
rename to src/main/java/com/amigoscode/_8_testing/_9_mocking/TimedGreeter.java
index c3a1b95..576e77a 100644
--- a/src/main/java/com/amigoscode/testing/mocking/TimedGreeter.java
+++ b/src/main/java/com/amigoscode/_8_testing/_9_mocking/TimedGreeter.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import java.time.LocalDateTime;
diff --git a/src/test/java/com/amigoscode/testing/firsttest/CalculatorTest.java b/src/test/java/com/amigoscode/_8_testing/_1_firsttest/CalculatorTest.java
similarity index 97%
rename from src/test/java/com/amigoscode/testing/firsttest/CalculatorTest.java
rename to src/test/java/com/amigoscode/_8_testing/_1_firsttest/CalculatorTest.java
index 62e771e..46ac2f9 100644
--- a/src/test/java/com/amigoscode/testing/firsttest/CalculatorTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_1_firsttest/CalculatorTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.firsttest;
+package com.amigoscode._8_testing._1_firsttest;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/assertions/AssertThrowsTest.java b/src/test/java/com/amigoscode/_8_testing/_2_assertions/AssertThrowsTest.java
similarity index 97%
rename from src/test/java/com/amigoscode/testing/assertions/AssertThrowsTest.java
rename to src/test/java/com/amigoscode/_8_testing/_2_assertions/AssertThrowsTest.java
index d5c1a6c..dd84085 100644
--- a/src/test/java/com/amigoscode/testing/assertions/AssertThrowsTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_2_assertions/AssertThrowsTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.assertions;
+package com.amigoscode._8_testing._2_assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/amigoscode/testing/assertions/StringUtilsTest.java b/src/test/java/com/amigoscode/_8_testing/_2_assertions/StringUtilsTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/assertions/StringUtilsTest.java
rename to src/test/java/com/amigoscode/_8_testing/_2_assertions/StringUtilsTest.java
index 6a03407..c4a448b 100644
--- a/src/test/java/com/amigoscode/testing/assertions/StringUtilsTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_2_assertions/StringUtilsTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.assertions;
+package com.amigoscode._8_testing._2_assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/scenarios/GradeCalculatorTest.java b/src/test/java/com/amigoscode/_8_testing/_3_scenarios/GradeCalculatorTest.java
similarity index 97%
rename from src/test/java/com/amigoscode/testing/scenarios/GradeCalculatorTest.java
rename to src/test/java/com/amigoscode/_8_testing/_3_scenarios/GradeCalculatorTest.java
index f658d44..0c64274 100644
--- a/src/test/java/com/amigoscode/testing/scenarios/GradeCalculatorTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_3_scenarios/GradeCalculatorTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.scenarios;
+package com.amigoscode._8_testing._3_scenarios;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/junitfeatures/JunitFeaturesTest.java b/src/test/java/com/amigoscode/_8_testing/_4_junitfeatures/JunitFeaturesTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/junitfeatures/JunitFeaturesTest.java
rename to src/test/java/com/amigoscode/_8_testing/_4_junitfeatures/JunitFeaturesTest.java
index 8cd529a..07ba33e 100644
--- a/src/test/java/com/amigoscode/testing/junitfeatures/JunitFeaturesTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_4_junitfeatures/JunitFeaturesTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.junitfeatures;
+package com.amigoscode._8_testing._4_junitfeatures;
import org.junit.jupiter.api.*;
diff --git a/src/test/java/com/amigoscode/testing/assertj/PersonTest.java b/src/test/java/com/amigoscode/_8_testing/_5_assertj/PersonTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/assertj/PersonTest.java
rename to src/test/java/com/amigoscode/_8_testing/_5_assertj/PersonTest.java
index b7875a7..08abf3d 100644
--- a/src/test/java/com/amigoscode/testing/assertj/PersonTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_5_assertj/PersonTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.assertj;
+package com.amigoscode._8_testing._5_assertj;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/parameterized/CsvSourceTest.java b/src/test/java/com/amigoscode/_8_testing/_6_parameterized/CsvSourceTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/parameterized/CsvSourceTest.java
rename to src/test/java/com/amigoscode/_8_testing/_6_parameterized/CsvSourceTest.java
index 475d7c9..3abdf1f 100644
--- a/src/test/java/com/amigoscode/testing/parameterized/CsvSourceTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_6_parameterized/CsvSourceTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.parameterized;
+package com.amigoscode._8_testing._6_parameterized;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.extension.ExtensionContext;
diff --git a/src/test/java/com/amigoscode/testing/parameterized/EmailValidatorTest.java b/src/test/java/com/amigoscode/_8_testing/_6_parameterized/EmailValidatorTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/parameterized/EmailValidatorTest.java
rename to src/test/java/com/amigoscode/_8_testing/_6_parameterized/EmailValidatorTest.java
index ef308af..caf246f 100644
--- a/src/test/java/com/amigoscode/testing/parameterized/EmailValidatorTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_6_parameterized/EmailValidatorTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.parameterized;
+package com.amigoscode._8_testing._6_parameterized;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/exceptions/BankAccountTest.java b/src/test/java/com/amigoscode/_8_testing/_7_exceptions/BankAccountTest.java
similarity index 97%
rename from src/test/java/com/amigoscode/testing/exceptions/BankAccountTest.java
rename to src/test/java/com/amigoscode/_8_testing/_7_exceptions/BankAccountTest.java
index b196e7a..e2d2deb 100644
--- a/src/test/java/com/amigoscode/testing/exceptions/BankAccountTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_7_exceptions/BankAccountTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.exceptions;
+package com.amigoscode._8_testing._7_exceptions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/tdd/PasswordValidatorTest.java b/src/test/java/com/amigoscode/_8_testing/_8_tdd/PasswordValidatorTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/tdd/PasswordValidatorTest.java
rename to src/test/java/com/amigoscode/_8_testing/_8_tdd/PasswordValidatorTest.java
index 1ec3f4a..dc22b53 100644
--- a/src/test/java/com/amigoscode/testing/tdd/PasswordValidatorTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_8_tdd/PasswordValidatorTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.tdd;
+package com.amigoscode._8_testing._8_tdd;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/tdd/ShippingCostCalculatorTest.java b/src/test/java/com/amigoscode/_8_testing/_8_tdd/ShippingCostCalculatorTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/tdd/ShippingCostCalculatorTest.java
rename to src/test/java/com/amigoscode/_8_testing/_8_tdd/ShippingCostCalculatorTest.java
index e0685fd..0602ae6 100644
--- a/src/test/java/com/amigoscode/testing/tdd/ShippingCostCalculatorTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_8_tdd/ShippingCostCalculatorTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.tdd;
+package com.amigoscode._8_testing._8_tdd;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/mocking/AdvancedMockingTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/AdvancedMockingTest.java
similarity index 87%
rename from src/test/java/com/amigoscode/testing/mocking/AdvancedMockingTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/AdvancedMockingTest.java
index ac0e999..60f5f15 100644
--- a/src/test/java/com/amigoscode/testing/mocking/AdvancedMockingTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/AdvancedMockingTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
@@ -79,13 +79,13 @@ class AdvancedMockingTest {
// TODO: 6 - Use spy() for partial mocking.
- // Create a real Order and spy on it:
- // Order realOrder = new Order("ORD-1", "CUST-1", 99.99);
- // Order spyOrder = spy(realOrder);
- // Verify that spyOrder.getAmount() returns 99.99 (real method call).
- // Override one method: when(spyOrder.getStatus()).thenReturn("OVERRIDDEN");
- // Assert spyOrder.getStatus() now returns "OVERRIDDEN".
- // Assert spyOrder.getAmount() still returns 99.99 (not overridden).
+ // Create a real ArrayList and spy on it:
+ // List realList = new java.util.ArrayList<>();
+ // List spyList = spy(realList);
+ // Add "item1" to spyList and verify size is 1 (real method call).
+ // Override size(): when(spyList.size()).thenReturn(100);
+ // Assert spyList.size() now returns 100.
+ // Assert spyList.get(0) still returns "item1" (not overridden).
// TODO: 7 - Use timeout() for verifying calls with a time limit.
diff --git a/src/test/java/com/amigoscode/testing/mocking/ArgumentCaptorTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/ArgumentCaptorTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/mocking/ArgumentCaptorTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/ArgumentCaptorTest.java
index edcc957..343087d 100644
--- a/src/test/java/com/amigoscode/testing/mocking/ArgumentCaptorTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/ArgumentCaptorTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/amigoscode/testing/mocking/BDDMockitoTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/BDDMockitoTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/mocking/BDDMockitoTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/BDDMockitoTest.java
index 34e0ae0..1bc8717 100644
--- a/src/test/java/com/amigoscode/testing/mocking/BDDMockitoTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/BDDMockitoTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/amigoscode/testing/mocking/ClockMockingTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/ClockMockingTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/mocking/ClockMockingTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/ClockMockingTest.java
index 1050016..92de363 100644
--- a/src/test/java/com/amigoscode/testing/mocking/ClockMockingTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/ClockMockingTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/amigoscode/testing/mocking/FirstMockTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/FirstMockTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/mocking/FirstMockTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/FirstMockTest.java
index 72c1fb6..02008c3 100644
--- a/src/test/java/com/amigoscode/testing/mocking/FirstMockTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/FirstMockTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/amigoscode/testing/mocking/MatchersTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/MatchersTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/mocking/MatchersTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/MatchersTest.java
index 5d43a93..1a667d5 100644
--- a/src/test/java/com/amigoscode/testing/mocking/MatchersTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/MatchersTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/amigoscode/testing/mocking/ProductServiceTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/ProductServiceTest.java
similarity index 99%
rename from src/test/java/com/amigoscode/testing/mocking/ProductServiceTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/ProductServiceTest.java
index 224cb75..eb0f8d9 100644
--- a/src/test/java/com/amigoscode/testing/mocking/ProductServiceTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/ProductServiceTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
diff --git a/src/test/java/com/amigoscode/testing/mocking/VerifyInteractionsTest.java b/src/test/java/com/amigoscode/_8_testing/_9_mocking/VerifyInteractionsTest.java
similarity index 98%
rename from src/test/java/com/amigoscode/testing/mocking/VerifyInteractionsTest.java
rename to src/test/java/com/amigoscode/_8_testing/_9_mocking/VerifyInteractionsTest.java
index faa91d7..08df19d 100644
--- a/src/test/java/com/amigoscode/testing/mocking/VerifyInteractionsTest.java
+++ b/src/test/java/com/amigoscode/_8_testing/_9_mocking/VerifyInteractionsTest.java
@@ -1,4 +1,4 @@
-package com.amigoscode.testing.mocking;
+package com.amigoscode._8_testing._9_mocking;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;