diff --git a/src/pizzeria/NYPizzaStore.java b/src/pizzeria/NYPizzaStore.java
index 9c940c8bf768e17b2a7884341fb553e3945dffb4..f3480ecdc071079d41791934d01905d9797bfbc3 100644
--- a/src/pizzeria/NYPizzaStore.java
+++ b/src/pizzeria/NYPizzaStore.java
@@ -1,17 +1,26 @@
 package pizzeria;
 
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Properties;
+
 public class NYPizzaStore extends PizzaStore {
 
 	Pizza createPizza(String item) {
-		if (item.equals("cheese")) {
-			return new NYStyleCheesePizza();
-		} else if (item.equals("veggie")) {
-			return new NYStyleVeggiePizza();
-		} else if (item.equals("clam")) {
-			return new NYStyleClamPizza();
-		} else if (item.equals("pepperoni")) {
-			return new NYStylePepperoniPizza();
-		} else return null;
+		Pizza pizza = null;
+
+		Properties properties = new Properties();
+		try {
+			properties.load(this.getClass().getResourceAsStream("nypizza.properties"));
+			String pizzaName = properties.getProperty(item);
+			Class<?> classOfPizza = Class.forName(pizzaName);
+			Constructor<Pizza> constructor = (Constructor<Pizza>) classOfPizza.getConstructor(new Class[]{});
+			pizza = constructor.newInstance();
+		} catch (IOException | ClassNotFoundException | InstantiationException | IllegalAccessException |
+				NoSuchMethodException | InvocationTargetException e) {
+			e.printStackTrace();
+		}
+		return pizza;
 	}
-	
 }
diff --git a/src/pizzeria/nypizza.properties b/src/pizzeria/nypizza.properties
new file mode 100644
index 0000000000000000000000000000000000000000..ff37049ddc4f00ace028b3c90422408ee1571871
--- /dev/null
+++ b/src/pizzeria/nypizza.properties
@@ -0,0 +1,5 @@
+cheese=pizzeria.NYStyleCheesePizza
+clam=pizzeria.NYStyleClamPizza
+pepperoni=pizzeria.NYStylePepperoniPizza
+veggie=pizzeria.NYStyleVeggiePizza
+salami=pizzeria.NYStyleSalamiPizza