diff --git a/src/pizzeria/PizzaStore.java b/src/pizzeria/PizzaStore.java
index 4aa035e7b83d48de2fb2c1aaa7d89b0a79cb949e..a43b5f73e219a60b3f5c394005a1cdcde14d4fc4 100644
--- a/src/pizzeria/PizzaStore.java
+++ b/src/pizzeria/PizzaStore.java
@@ -1,21 +1,16 @@
 package pizzeria;
 
 public class PizzaStore {
+	SimplePizzaFactory factory;
+ 
+	public PizzaStore(SimplePizzaFactory factory) { 
+		this.factory = factory;
+	}
  
 	public Pizza orderPizza(String type) {
-		Pizza pizza = null;
-
-		if (type.equals("cheese")) {
-			pizza = new CheesePizza();
-		} else if (type.equals("pepperoni")) {
-			pizza = new PepperoniPizza();
-		} else if (type.equals("clam")) {
-			pizza = new ClamPizza();
-		} else if (type.equals("veggie")) {
-			pizza = new VeggiePizza();
-		} else {
-			return pizza;
-		}
+		Pizza pizza;
+ 
+		pizza = factory.createPizza(type);
  
 		pizza.prepare();
 		pizza.bake();
@@ -25,4 +20,27 @@ public class PizzaStore {
 		return pizza;
 	}
 
+	public Pizza orderPizza() {
+		Pizza pizza;
+		
+		pizza = factory.createPizza();
+		pizza.prepare();
+		pizza.bake();
+		pizza.cut();
+		pizza.box();
+
+		return pizza;
+	}
+
+	public Pizza orderPepperoniPizza() {
+		Pizza pizza;
+		
+		pizza = factory.createPepperoniPizza();
+		pizza.prepare();
+		pizza.bake();
+		pizza.cut();
+		pizza.box();
+
+		return pizza;
+	}
 }
diff --git a/src/pizzeria/PizzaTestDrive.java b/src/pizzeria/PizzaTestDrive.java
index 6dae385569139ad6f33f03f813b439f37c563006..ae283e04fd9f26c07ba9d41c0c9beffce25a96ae 100644
--- a/src/pizzeria/PizzaTestDrive.java
+++ b/src/pizzeria/PizzaTestDrive.java
@@ -3,7 +3,8 @@ package pizzeria;
 public class PizzaTestDrive {
  
 	public static void main(String[] args) {
-		PizzaStore store = new PizzaStore();
+		SimplePizzaFactory factory = new SimplePizzaFactory();
+		PizzaStore store = new PizzaStore(factory);
 
 		Pizza pizza = store.orderPizza("cheese");
 		System.out.println("We ordered a " + pizza.getName() + "\n");
@@ -11,6 +12,11 @@ public class PizzaTestDrive {
 		pizza = store.orderPizza("veggie");
 		System.out.println("We ordered a " + pizza.getName() + "\n");
 
-		System.out.println(new PizzaStore().orderPizza("pepperoni").toString());
+		pizza = store.orderPepperoniPizza();
+		System.out.println("We ordered a " + pizza.getName() + "\n");
+
+		pizza = store.orderPizza();
+		System.out.println("We ordered a " + pizza.getName() + "\n");
+
 	}
 }
diff --git a/src/pizzeria/SimplePizzaFactory.java b/src/pizzeria/SimplePizzaFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..22bbec1103c58f1f397b9ca50ed3b95d6c7c644e
--- /dev/null
+++ b/src/pizzeria/SimplePizzaFactory.java
@@ -0,0 +1,28 @@
+package pizzeria;
+
+public class SimplePizzaFactory {
+
+	public Pizza createPizza(String type) {
+		Pizza pizza = null;
+
+		if (type.equals("cheese")) {
+			pizza = new CheesePizza();
+		} else if (type.equals("pepperoni")) {
+			pizza = new PepperoniPizza();
+		} else if (type.equals("clam")) {
+			pizza = new ClamPizza();
+		} else if (type.equals("veggie")) {
+			pizza = new VeggiePizza();
+		}
+		return pizza;
+	}
+
+	public Pizza createPizza() {
+		return new CheesePizza();
+	}
+	
+	public Pizza createPepperoniPizza() {
+		return new PepperoniPizza();
+	}
+}
+