diff --git a/src/pizzeria/PizzaFranchise.java b/src/pizzeria/PizzaFranchise.java
new file mode 100644
index 0000000000000000000000000000000000000000..cb9896818431b40b1dd4aaf583ca2397435cadc5
--- /dev/null
+++ b/src/pizzeria/PizzaFranchise.java
@@ -0,0 +1,13 @@
+package pizzeria;
+
+public class PizzaFranchise {
+	private PizzaStore store;
+	
+	public PizzaFranchise(PizzaStore store) {
+		this.store = store;
+	}
+	
+	public Pizza orderPizza(String type) {
+		return store.orderPizza(type);
+	}
+}
diff --git a/src/pizzeria/PizzaTestDrive.java b/src/pizzeria/PizzaTestDrive.java
index a4ce31a7bbb9e7f5299dd3e91f3ebaab166606fa..575749aee7f93f8970c6b16fd4127723a82fd9ba 100644
--- a/src/pizzeria/PizzaTestDrive.java
+++ b/src/pizzeria/PizzaTestDrive.java
@@ -3,31 +3,17 @@ package pizzeria;
 public class PizzaTestDrive {
  
 	public static void main(String[] args) {
-		PizzaStore nyStore = new NYPizzaStore();
-		PizzaStore chicagoStore = new ChicagoPizzaStore();
- 
-		Pizza pizza = nyStore.orderPizza("cheese");
-		System.out.println("Ethan ordered a " + pizza.getName() + "\n");
- 
-		pizza = chicagoStore.orderPizza("cheese");
-		System.out.println("Joel ordered a " + pizza.getName() + "\n");
-
-		pizza = nyStore.orderPizza("clam");
-		System.out.println("Ethan ordered a " + pizza.getName() + "\n");
- 
-		pizza = chicagoStore.orderPizza("clam");
-		System.out.println("Joel ordered a " + pizza.getName() + "\n");
-
-		pizza = nyStore.orderPizza("pepperoni");
-		System.out.println("Ethan ordered a " + pizza.getName() + "\n");
- 
-		pizza = chicagoStore.orderPizza("pepperoni");
-		System.out.println("Joel ordered a " + pizza.getName() + "\n");
-
-		pizza = nyStore.orderPizza("veggie");
-		System.out.println("Ethan ordered a " + pizza.getName() + "\n");
- 
-		pizza = chicagoStore.orderPizza("veggie");
-		System.out.println("Joel ordered a " + pizza.getName() + "\n");
+		PizzaStore[] storeList = {new TestPizzaStore(), new NYPizzaStore(), new ChicagoPizzaStore()};
+		String[] customerList = {"Ethan", "Joel", "Martha"}; 
+		String[] pizzaType = {"cheese", "veggie"};
+		
+		for (int i=0; i<storeList.length; i++) {
+			PizzaFranchise franchise = new PizzaFranchise(storeList[i]);
+				
+			for (int j=0; j<pizzaType.length; j++) {
+				Pizza pizza = franchise.orderPizza(pizzaType[j]);
+				System.out.println(customerList[i] + " ordered a " + pizza.getName() + "\n");
+			}
+		}
 	}
 }
diff --git a/src/pizzeria/TestCheesePizza.java b/src/pizzeria/TestCheesePizza.java
new file mode 100644
index 0000000000000000000000000000000000000000..f1755eed94d342f698d63561f6865b3a4e5a6a02
--- /dev/null
+++ b/src/pizzeria/TestCheesePizza.java
@@ -0,0 +1,12 @@
+package pizzeria;
+
+public class TestCheesePizza extends Pizza {
+
+	public TestCheesePizza() { 
+		name = "Test Cheese Pizza";
+		dough = "Test Dough";
+		sauce = "Test Sauce";
+ 
+		toppings.add("Testing cheese toppings");
+	}
+}
diff --git a/src/pizzeria/TestPizzaStore.java b/src/pizzeria/TestPizzaStore.java
new file mode 100644
index 0000000000000000000000000000000000000000..83679ebe93a7e76176a232354f0c20064a211206
--- /dev/null
+++ b/src/pizzeria/TestPizzaStore.java
@@ -0,0 +1,14 @@
+package pizzeria;
+
+public class TestPizzaStore extends PizzaStore {
+
+	Pizza createPizza(String item) {
+		if (item.equals("cheese")) {
+			return new TestCheesePizza();
+		} else if (item.equals("veggie")) {
+			return new TestVeggiePizza();
+		} else return null;
+	}
+	
+	
+}
diff --git a/src/pizzeria/TestVeggiePizza.java b/src/pizzeria/TestVeggiePizza.java
new file mode 100644
index 0000000000000000000000000000000000000000..ffc72cb5579c202b50f6394a928c79a929be926d
--- /dev/null
+++ b/src/pizzeria/TestVeggiePizza.java
@@ -0,0 +1,12 @@
+package pizzeria;
+
+public class TestVeggiePizza extends Pizza {
+
+	public TestVeggiePizza() {
+		name = "Test Veggie Pizza";
+		dough = "Test Dough";
+		sauce = "Test Sauce";
+ 
+		toppings.add("Testing veggie toppings");
+	}
+}