diff --git a/lib/guava-21.0.jar b/lib/guava-21.0.jar
new file mode 100644
index 0000000000000000000000000000000000000000..0618195945f19848b80cbdcc56d7f05d913c6f64
Binary files /dev/null and b/lib/guava-21.0.jar differ
diff --git a/lib/guice-4.1.0-no_aop.jar b/lib/guice-4.1.0-no_aop.jar
new file mode 100644
index 0000000000000000000000000000000000000000..5d19a30dd234b53193d68bf7b69862919c5024ff
Binary files /dev/null and b/lib/guice-4.1.0-no_aop.jar differ
diff --git a/lib/javax.inject-1.jar b/lib/javax.inject-1.jar
new file mode 100644
index 0000000000000000000000000000000000000000..b2a9d0bf7bd463a6361898b36f010edd05c0cf6e
Binary files /dev/null and b/lib/javax.inject-1.jar differ
diff --git a/src/pizzeria/PizzaFranchise.java b/src/pizzeria/PizzaFranchise.java
index cb9896818431b40b1dd4aaf583ca2397435cadc5..54c9384425af22f7d1cdbd67cb9673704cd80c92 100644
--- a/src/pizzeria/PizzaFranchise.java
+++ b/src/pizzeria/PizzaFranchise.java
@@ -1,8 +1,11 @@
 package pizzeria;
 
+import com.google.inject.Inject;
+
 public class PizzaFranchise {
 	private PizzaStore store;
 	
+	@Inject
 	public PizzaFranchise(PizzaStore store) {
 		this.store = store;
 	}
diff --git a/src/pizzeria/PizzaStoreModule.java b/src/pizzeria/PizzaStoreModule.java
new file mode 100644
index 0000000000000000000000000000000000000000..28eaec935e34be92f52594f77a49418fe628a3c9
--- /dev/null
+++ b/src/pizzeria/PizzaStoreModule.java
@@ -0,0 +1,13 @@
+package pizzeria;
+
+import com.google.inject.AbstractModule;
+
+public class PizzaStoreModule extends AbstractModule {
+
+	@Override
+	protected void configure() {
+		bind(PizzaStore.class)
+			//.to(ChicagoPizzaStore.class);
+			.to(NYPizzaStore.class);
+	}
+}
diff --git a/src/pizzeria/PizzaTestDrive.java b/src/pizzeria/PizzaTestDrive.java
index 575749aee7f93f8970c6b16fd4127723a82fd9ba..3698d99ee50b058783200bb7cd25bc1419881cd8 100644
--- a/src/pizzeria/PizzaTestDrive.java
+++ b/src/pizzeria/PizzaTestDrive.java
@@ -1,19 +1,19 @@
 package pizzeria;
 
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
 public class PizzaTestDrive {
- 
+
 	public static void main(String[] args) {
-		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");
-			}
+		String[] pizzaType = { "cheese", "clam", "pepperoni", "veggie" };
+
+		Injector i = Guice.createInjector(new PizzaStoreModule());
+		PizzaFranchise franchise = i.getInstance(PizzaFranchise.class);
+
+		for (int j = 0; j < pizzaType.length; j++) {
+			Pizza pizza = franchise.orderPizza(pizzaType[j]);
+			System.out.println("Customer ordered a " + pizza.getName() + "\n");
 		}
 	}
 }