diff --git a/projects/JenkaEff/pom.xml b/projects/JenkaEff/pom.xml
new file mode 100644
index 0000000..2ebeb66
--- /dev/null
+++ b/projects/JenkaEff/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+
+ ru.mipt.diht.students
+ parent
+ 1.0-SNAPSHOT
+
+ ru.mipt.diht.students
+ JenkaEff
+ 1.0-SNAPSHOT
+ JenkaEff
+ http://maven.apache.org
+
+ UTF-8
+
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+
diff --git a/projects/JenkaEff/src/main/java/ru/mipt/diht/students/JenkaEff/CollectionQuery/Aggregates.java b/projects/JenkaEff/src/main/java/ru/mipt/diht/students/JenkaEff/CollectionQuery/Aggregates.java
new file mode 100644
index 0000000..ff8b738
--- /dev/null
+++ b/projects/JenkaEff/src/main/java/ru/mipt/diht/students/JenkaEff/CollectionQuery/Aggregates.java
@@ -0,0 +1,62 @@
+package ru.fizteh.fivt.students.JenkaEff.CollectionQuery;
+
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.function.Function;
+
+public class Aggregates {
+ public static Function count(Function expression) {
+ return new Count<>(expression);
+ }
+
+ public static Function avg(Function expression) {
+ return new Avg<>(expression);
+ }
+
+ public interface Aggregator extends Function {
+ C apply(List list);
+ }
+
+ public static class Count implements Aggregator {
+
+ private Function function;
+ public Count(Function expression) {
+ this.function = expression;
+ }
+
+ @Override
+ public Integer apply(List list) {
+ Set