diff --git a/feature-toggle/pom.xml b/feature-toggle/pom.xml
index 249d999a1..9a2b04de3 100644
--- a/feature-toggle/pom.xml
+++ b/feature-toggle/pom.xml
@@ -13,4 +13,12 @@
feature-toggle
+
+
+ junit
+ junit
+ test
+
+
+
\ No newline at end of file
diff --git a/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/User.java b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/User.java
new file mode 100644
index 000000000..f25747997
--- /dev/null
+++ b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/User.java
@@ -0,0 +1,7 @@
+package com.iluwatar.featuretoggle.user;
+
+/**
+ * Created by joseph on 26/01/16.
+ */
+public class User {
+}
diff --git a/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/UserGroup.java b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/UserGroup.java
new file mode 100644
index 000000000..315c88b45
--- /dev/null
+++ b/feature-toggle/src/main/java/com/iluwatar/featuretoggle/user/UserGroup.java
@@ -0,0 +1,37 @@
+package com.iluwatar.featuretoggle.user;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by joseph on 26/01/16.
+ */
+public class UserGroup {
+
+ private static List freeGroup = new ArrayList<>();
+ private static List paidGroup = new ArrayList<>();
+
+ public static void addUserToFreeGroup(final User user){
+ if(paidGroup.contains(user)){
+ throw new IllegalArgumentException("User all ready member of paid group.");
+ }else{
+ if(!freeGroup.contains(user)){
+ freeGroup.add(user);
+ }
+ }
+ }
+
+ public static void addUserToPaidGroup(final User user){
+ if(freeGroup.contains(user)){
+ throw new IllegalArgumentException("User all ready member of free group.");
+ }else{
+ if(!paidGroup.contains(user)){
+ paidGroup.add(user);
+ }
+ }
+ }
+
+ public static boolean isPaid(User user) {
+ return paidGroup.contains(user);
+ }
+}
diff --git a/feature-toggle/src/main/test/com/iluwatar/featuretoggle/user/UserGroupTest.java b/feature-toggle/src/main/test/com/iluwatar/featuretoggle/user/UserGroupTest.java
new file mode 100644
index 000000000..f74d79064
--- /dev/null
+++ b/feature-toggle/src/main/test/com/iluwatar/featuretoggle/user/UserGroupTest.java
@@ -0,0 +1,37 @@
+package com.iluwatar.featuretoggle.user;
+
+import org.junit.Test;
+
+import static junit.framework.TestCase.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+public class UserGroupTest {
+
+ @Test
+ public void testAddUserToFreeGroup() throws Exception {
+ User user = new User();
+ UserGroup.addUserToFreeGroup(user);
+ assertFalse(UserGroup.isPaid(user));
+ }
+
+ @Test
+ public void testAddUserToPaidGroup() throws Exception {
+ User user = new User();
+ UserGroup.addUserToPaidGroup(user);
+ assertTrue(UserGroup.isPaid(user));
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testAddUserToPaidWhenOnFree() throws Exception {
+ User user = new User();
+ UserGroup.addUserToFreeGroup(user);
+ UserGroup.addUserToPaidGroup(user);
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testAddUserToFreeWhenOnPaid() throws Exception {
+ User user = new User();
+ UserGroup.addUserToPaidGroup(user);
+ UserGroup.addUserToFreeGroup(user);
+ }
+}
\ No newline at end of file