diff --git a/Habitica/build.gradle b/Habitica/build.gradle
index 1e24d535e..a1e63ba2f 100644
--- a/Habitica/build.gradle
+++ b/Habitica/build.gradle
@@ -103,6 +103,9 @@ dependencies {
compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
+ // lodash/underscore
+ compile 'com.github.javadev:underscore:1.23'
+
//RxJava
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.2.0'
diff --git a/Habitica/res/drawable-hdpi/ic_arrow_drop_down_80000000_24dp.png b/Habitica/res/drawable-hdpi/ic_arrow_drop_down_80000000_24dp.png
new file mode 100644
index 000000000..6c5cc3661
Binary files /dev/null and b/Habitica/res/drawable-hdpi/ic_arrow_drop_down_80000000_24dp.png differ
diff --git a/Habitica/res/drawable-mdpi/ic_arrow_drop_down_80000000_24dp.png b/Habitica/res/drawable-mdpi/ic_arrow_drop_down_80000000_24dp.png
new file mode 100644
index 000000000..94028d1a3
Binary files /dev/null and b/Habitica/res/drawable-mdpi/ic_arrow_drop_down_80000000_24dp.png differ
diff --git a/Habitica/res/drawable-xhdpi/ic_arrow_drop_down_80000000_24dp.png b/Habitica/res/drawable-xhdpi/ic_arrow_drop_down_80000000_24dp.png
new file mode 100644
index 000000000..903aaed0c
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/ic_arrow_drop_down_80000000_24dp.png differ
diff --git a/Habitica/res/drawable-xxhdpi/ic_arrow_drop_down_80000000_24dp.png b/Habitica/res/drawable-xxhdpi/ic_arrow_drop_down_80000000_24dp.png
new file mode 100644
index 000000000..3d2089007
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/ic_arrow_drop_down_80000000_24dp.png differ
diff --git a/Habitica/res/drawable-xxxhdpi/ic_arrow_drop_down_80000000_24dp.png b/Habitica/res/drawable-xxxhdpi/ic_arrow_drop_down_80000000_24dp.png
new file mode 100644
index 000000000..8b60cb037
Binary files /dev/null and b/Habitica/res/drawable-xxxhdpi/ic_arrow_drop_down_80000000_24dp.png differ
diff --git a/Habitica/res/layout/activity_challenge_overview.xml b/Habitica/res/layout/activity_challenge_overview.xml
deleted file mode 100644
index 57214e51a..000000000
--- a/Habitica/res/layout/activity_challenge_overview.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Habitica/res/layout/dialog_challenge_filter.xml b/Habitica/res/layout/dialog_challenge_filter.xml
new file mode 100644
index 000000000..7ed2f808c
--- /dev/null
+++ b/Habitica/res/layout/dialog_challenge_filter.xml
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/dialog_challenge_filter_group_item.xml b/Habitica/res/layout/dialog_challenge_filter_group_item.xml
new file mode 100644
index 000000000..6088a6a45
--- /dev/null
+++ b/Habitica/res/layout/dialog_challenge_filter_group_item.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/fragment_challengeslist.xml b/Habitica/res/layout/fragment_challengeslist.xml
index ffeea9885..8c2190b3b 100644
--- a/Habitica/res/layout/fragment_challengeslist.xml
+++ b/Habitica/res/layout/fragment_challengeslist.xml
@@ -1,11 +1,43 @@
+
+
+
+
+
+
+
+
+
+
32dp
16dp
4dp
+
+ 24dp
+ 24dp
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index 9d88520f7..37f431108 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -521,4 +521,11 @@ To start, which parts of your life do you want to improve?
You open the box and find %s!
You earned a %1$s as a reward for your devotion to improving your life.
Your next prize unlocks at %1$d Check-Ins
+ Filters
+ Done
+ Groups
+ All
+ None
+ Owned
+ Not owned
diff --git a/Habitica/res/values/styles.habitica.xml b/Habitica/res/values/styles.habitica.xml
index dd4e804fd..3372603f9 100644
--- a/Habitica/res/values/styles.habitica.xml
+++ b/Habitica/res/values/styles.habitica.xml
@@ -17,6 +17,10 @@
- 0.071
+
+