diff --git a/.idea/misc.xml b/.idea/misc.xml
index 03f397c..10a22f9 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/src/Lambda_Collections.kt b/src/Lambda_Collections.kt
new file mode 100644
index 0000000..050c57f
--- /dev/null
+++ b/src/Lambda_Collections.kt
@@ -0,0 +1,45 @@
+fun main() {
+ // part 1
+ println("Part 1:");
+ val nums = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
+ println("[*] ${nums.map {it * 2}}");
+
+ // part 2
+ println("\nPart 2:");
+ val names = mutableListOf("Alice", "Bob", "Amir", "Charlie", "Annie", "David");
+ println("[*] ${filterNames(names) { it.contains("A" )}}");
+
+ // part 3
+ println("\nPart 3:");
+ val fruits = listOf("apple", "banana", "kiwi", "strawberry", "grape");
+ println("[*] ${fruits.sortedByDescending { it.length }}")
+
+ // part 4
+ println("\nPart 4:");
+ val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
+ println("[*] ${customFilter(numbers) { it > 5 }}");
+ println("[*] ${customFilter(numbers) { it % 2 == 0 }}");
+ println("[*] ${customFilter(numbers) { it % 3 == 0}}");
+
+ // part 5
+ println("\nPart 5:");
+ val numberSquare = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
+ println("[*] ${processNumbers(numberSquare, {it % 2 != 0}, {it * it})}");
+
+
+}
+
+fun filterNames( names: MutableList, filter: (String) -> Boolean ): List{
+ return names.filter(filter);
+}
+
+fun customFilter(numbers: List, filter: (Int) -> Boolean): List {
+ return numbers.filter(filter);
+}
+
+fun processNumbers(numbers: List, filterEven: (Int) -> Boolean, filterSquare: (Int) -> (Int)): List {
+ var numEven = numbers.filter(filterEven);
+ var numSquare = numEven.map(filterSquare);
+ return numSquare;
+
+}
diff --git a/src/Main.kt b/src/Main.kt
deleted file mode 100644
index a7a5e00..0000000
--- a/src/Main.kt
+++ /dev/null
@@ -1,3 +0,0 @@
-fun main() {
- println("Hello World!")
-}
\ No newline at end of file