diff --git a/RecipeDB.pro b/RecipeDB.pro
index 2c957a5..0153b2b 100644
--- a/RecipeDB.pro
+++ b/RecipeDB.pro
@@ -25,7 +25,8 @@ SOURCES += model/recipe/instruction.cpp \
     SQLite/sqlite3.c \
     model/database/resulttable.cpp \
     model/database/recipedatabase.cpp \
-    utils/fileutils.cpp
+    utils/fileutils.cpp \
+    gui/newrecipedialog.cpp
 
 HEADERS  += model/recipe/instruction.h \
     model/recipe/recipe.h \
@@ -40,11 +41,13 @@ HEADERS  += model/recipe/instruction.h \
     SQLite/sqlite3ext.h \
     model/database/resulttable.h \
     model/database/recipedatabase.h \
-    utils/fileutils.h
+    utils/fileutils.h \
+    gui/newrecipedialog.h
 
 LIBS += -ldl \
 
-FORMS    += gui/mainwindow.ui
+FORMS    += gui/mainwindow.ui \
+    gui/newrecipedialog.ui
 
 DISTFILES += \
     .gitignore
diff --git a/gui/mainwindow.ui b/gui/mainwindow.ui
index 1db1cc9..267cc6b 100644
--- a/gui/mainwindow.ui
+++ b/gui/mainwindow.ui
@@ -109,12 +109,25 @@
             
             
              
-              Source Sans Pro Light
+              Noto Sans CJK KR Light
               20
+              PreferAntialias
              
             
+            
+             false
+            
             
-             background-color: rgb(83, 75, 255);
+             QPushButton#newButton {
+	background-color: rgb(235, 235, 255);
+	border: 0px;
+}
+QPushButton#newButton:hover{
+	background-color: rgb(245, 245, 255);
+}
+QPushButton#newButton:pressed{
+	background-color: rgb(255, 255, 255);
+}
             
             
              New
@@ -134,12 +147,22 @@
             
             
              
-              Source Sans Pro Light
+              Noto Sans CJK KR Light
               20
+              PreferAntialias
              
             
             
-             background-color: rgb(112, 105, 255);
+             QPushButton#openButton {
+	background-color: rgb(222, 226, 255);
+	border: 0px;
+}
+QPushButton#openButton:hover{
+	background-color: rgb(232, 236, 255);
+}
+QPushButton#openButton:pressed{
+	background-color: rgb(255, 255, 255);
+}
             
             
              Open
@@ -156,16 +179,32 @@
             
             
              
-              Source Sans Pro Light
+              Noto Sans CJK KR Light
               20
+              PreferAntialias
              
             
+            
+             false
+            
             
-             background-color: rgb(137, 131, 255);
+             QPushButton#browseButton {
+	background-color: rgb(215, 215, 255);
+	border: 0px;
+}
+QPushButton#browseButton:hover{
+	background-color: rgb(225, 225, 255);
+}
+QPushButton#browseButton:pressed{
+	background-color: rgb(255, 255, 255);
+}
             
             
              Browse
             
+            
+             false
+            
            
           
          
@@ -214,8 +253,13 @@
          
          
           
-           Source Sans Pro Light
+           Noto Sans CJK KR Light
            24
+           50
+           false
+           false
+           PreferAntialias
+           true
           
          
          
@@ -299,7 +343,7 @@
                
                
                 
-                 Source Sans Pro Light
+                 Noto Sans CJK KR Thin
                  18
                 
                
@@ -324,8 +368,9 @@
                
                
                 
-                 Source Sans Pro Light
-                 16
+                 Noto Sans CJK KR Light
+                 12
+                 PreferAntialias
                 
                
                
@@ -343,6 +388,9 @@
                
                 Qt::ScrollBarAlwaysOff
                
+               
+                QAbstractItemView::NoSelection
+               
                
                 true
                
@@ -397,7 +445,7 @@
                
                
                 
-                 Source Sans Pro Light
+                 Noto Sans CJK KR Thin
                  18
                 
                
@@ -445,11 +493,11 @@
                 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
 <html><head><meta name="qrichtext" content="1" /><style type="text/css">
 p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#00ff40;">This is some </span><span style=" font-size:16pt; color:#a33c3e;">colored text and </span><a href="https://www.google.com"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">link</span></a></p></body></html>
+</style></head><body style=" font-family:'Liberation Serif Bold'; font-size:11pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; color:#00ff40;">This is some </span><span style=" font-family:'MS Shell Dlg 2'; font-size:16pt; color:#a33c3e;">colored text and </span><a href="https://www.google.com"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">link</span></a></p></body></html>
                
                
-                Qt::LinksAccessibleByMouse
+                Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse
                
               
              
diff --git a/gui/newrecipedialog.cpp b/gui/newrecipedialog.cpp
new file mode 100644
index 0000000..818f180
--- /dev/null
+++ b/gui/newrecipedialog.cpp
@@ -0,0 +1,14 @@
+#include "newrecipedialog.h"
+#include "ui_newrecipedialog.h"
+
+NewRecipeDialog::NewRecipeDialog(QWidget *parent) :
+	QDialog(parent),
+	ui(new Ui::NewRecipeDialog)
+{
+	ui->setupUi(this);
+}
+
+NewRecipeDialog::~NewRecipeDialog()
+{
+	delete ui;
+}
diff --git a/gui/newrecipedialog.h b/gui/newrecipedialog.h
new file mode 100644
index 0000000..30c34a2
--- /dev/null
+++ b/gui/newrecipedialog.h
@@ -0,0 +1,22 @@
+#ifndef NEWRECIPEDIALOG_H
+#define NEWRECIPEDIALOG_H
+
+#include 
+
+namespace Ui {
+class NewRecipeDialog;
+}
+
+class NewRecipeDialog : public QDialog
+{
+		Q_OBJECT
+
+	public:
+		explicit NewRecipeDialog(QWidget *parent = 0);
+		~NewRecipeDialog();
+
+	private:
+		Ui::NewRecipeDialog *ui;
+};
+
+#endif // NEWRECIPEDIALOG_H
diff --git a/gui/newrecipedialog.ui b/gui/newrecipedialog.ui
new file mode 100644
index 0000000..5248942
--- /dev/null
+++ b/gui/newrecipedialog.ui
@@ -0,0 +1,19 @@
+
+
+ NewRecipeDialog
+ 
+  
+   
+    0
+    0
+    640
+    480
+   
+  
+  
+   Dialog
+  
+ 
+ 
+ 
+
diff --git a/main.cpp b/main.cpp
index d67a414..1cadc3c 100644
--- a/main.cpp
+++ b/main.cpp
@@ -13,22 +13,16 @@ int main(int argc, char *argv[])
 	//TESTING CODE
 
 	RecipeDatabase recipeDB("recipes");
-//	recipeDB.storeIngredient(Ingredient("Apple", "Fruit"));
-//	recipeDB.storeIngredient(Ingredient("Corn", "Vegetable"));
-//	recipeDB.storeIngredient(Ingredient("Lettuce", "Vegetable"));
-//	recipeDB.storeIngredient(Ingredient("Carrot", "Vegetable"));
-
-//	recipeDB.executeSQL("SELECT * FROM ingredient;").printData();
 
 	//TESTING CODE
-	vector ri;
-	ri.push_back(RecipeIngredient("flour", "grains", 3.0f, UnitOfMeasure("cup", "cups", "c")));
-	ri.push_back(RecipeIngredient("Baking Powder", "Additives", 1.0f, UnitOfMeasure("Teaspoon", "Teaspoons", "Tsp")));
+//	vector ri;
+//	ri.push_back(RecipeIngredient("flour", "grains", 3.0f, UnitOfMeasure("cup", "cups", "c")));
+//	ri.push_back(RecipeIngredient("Baking Powder", "Additives", 1.0f, UnitOfMeasure("Teaspoon", "Teaspoons", "Tsp")));
 
-	Recipe rec("Example", ri, Instruction("BOLDiTaLiCs"), QImage(), vector(), QDate::currentDate(), QTime(0, 30), QTime(0, 25), 10.0f);
+//	Recipe rec("Example", ri, Instruction("BOLDiTaLiCs"), QImage(), vector(), QDate::currentDate(), QTime(0, 30), QTime(0, 25), 10.0f);
 
-	bool success = recipeDB.storeRecipe(rec);
-	printf("Storage successful: %d\n", success);
+//	bool success = recipeDB.storeRecipe(rec);
+//	printf("Storage successful: %d\n", success);
 
 	Recipe reloadRec = recipeDB.retrieveRecipe("Example");
 	reloadRec.print();
diff --git a/model/database/recipedatabase.cpp b/model/database/recipedatabase.cpp
index 4c991da..bc23000 100644
--- a/model/database/recipedatabase.cpp
+++ b/model/database/recipedatabase.cpp
@@ -117,7 +117,6 @@ Recipe RecipeDatabase::retrieveRecipe(string name){
 		fprintf(stderr, "Error: No recipe with name %s found!\n", name.c_str());
 		return Recipe();
 	}
-	t.printData();
 	Recipe r;
 	int id = std::stoi(t.valueAt(0, 0));
 	r.setName(t.valueAt(0, 1));
@@ -137,7 +136,6 @@ vector RecipeDatabase::retrieveRecipeIngredients(int recipeId)
 									 "INNER JOIN recipeIngredient "
 									 "ON ingredient.ingredientId = recipeIngredient.ingredientId "
 									 "AND recipeIngredient.recipeId = "+std::to_string(recipeId)+";");
-	t.printData();
 	vector ings;
 	for (unsigned int row = 0; row < t.rowCount(); row++){
 		RecipeIngredient r(t.valueAt(row, 0), t.valueAt(row, 1), std::stof(t.valueAt(row, 2)), UnitOfMeasure(t.valueAt(row, 3)));
diff --git a/model/recipe/ingredients/ingredientlistmodel.cpp b/model/recipe/ingredients/ingredientlistmodel.cpp
index de88da5..bd1a41e 100644
--- a/model/recipe/ingredients/ingredientlistmodel.cpp
+++ b/model/recipe/ingredients/ingredientlistmodel.cpp
@@ -10,10 +10,22 @@ int IngredientListModel::rowCount(const QModelIndex &parent) const{
 
 QVariant IngredientListModel::data(const QModelIndex &index, int role) const{
     int row = index.row();
+	RecipeIngredient i = this->ingredients[row];
+
+	string displayStr;
+
+	if (std::ceil(i.getQuantity()) == i.getQuantity()){
+		//The quantity is an integer and should be casted.
+		displayStr += std::to_string((int)i.getQuantity());
+	} else {
+		displayStr += std::to_string(i.getQuantity());
+	}
+
+	displayStr += " " + i.getUnit().getAbbreviation() + " " + i.getName();
 
     switch(role){
     case Qt::DisplayRole:
-        return QString::fromStdString(ingredients[row].getName());
+		return QString::fromStdString(displayStr);
     }
 
     return QVariant();
diff --git a/model/recipe/ingredients/unitofmeasure.cpp b/model/recipe/ingredients/unitofmeasure.cpp
index ddf62c8..7b4a0f8 100644
--- a/model/recipe/ingredients/unitofmeasure.cpp
+++ b/model/recipe/ingredients/unitofmeasure.cpp
@@ -1,19 +1,21 @@
 #include "unitofmeasure.h"
 
-UnitOfMeasure::UnitOfMeasure(string name, string plural, string abbreviation){
+UnitOfMeasure::UnitOfMeasure(string name, string plural, string abbreviation, int type){
     this->name = name;
     this->plural = plural;
 	this->abbreviation = abbreviation;
+	this->type = type;
 }
 
 UnitOfMeasure::UnitOfMeasure(string name){
 	this->name = name;
 	this->plural = name + "s";
 	this->abbreviation = "NULL";
+	this->type = MISC;
 	///TODO: Make actual guessing of this stuff.
 }
 
-UnitOfMeasure::UnitOfMeasure() : UnitOfMeasure::UnitOfMeasure("", "", ""){
+UnitOfMeasure::UnitOfMeasure() : UnitOfMeasure::UnitOfMeasure("", "", "", MISC){
     //Default constructor initializes all fields to empty strings.
 }
 
@@ -26,5 +28,9 @@ string UnitOfMeasure::getNamePlural() const{
 }
 
 string UnitOfMeasure::getAbbreviation() const{
-    return this->abbreviation;
+	return this->abbreviation;
+}
+
+int UnitOfMeasure::getType() const{
+	return this->type;
 }
diff --git a/model/recipe/ingredients/unitofmeasure.h b/model/recipe/ingredients/unitofmeasure.h
index 1787f14..1197089 100644
--- a/model/recipe/ingredients/unitofmeasure.h
+++ b/model/recipe/ingredients/unitofmeasure.h
@@ -12,8 +12,14 @@ using namespace std;
 class UnitOfMeasure
 {
 public:
+	//Constants Declarations.
+	static const int MASS = 1;
+	static const int VOLUME = 2;
+	static const int LENGTH = 3;
+	static const int MISC = 4;
+
     //Full constructor.
-    UnitOfMeasure(string name, string plural, string abbreviation);
+	UnitOfMeasure(string name, string plural, string abbreviation, int type);
 	//Attempt to guess unit from just a string.
 	UnitOfMeasure(string name);
     //Constructor with default values.
@@ -23,10 +29,13 @@ public:
     string getName() const;
     string getNamePlural() const;
     string getAbbreviation() const;
+	int getType() const;
 private:
     string name;                //The name of the unit of measure.
     string plural;              //The plural name.
     string abbreviation;        //A short version of the unit.
+	int type;					//The type of unit, as one of the constants above.
+	double metricCoefficient;	//The conversion from this unit to the standard metric unit.
 };
 
 #endif // UNITOFMEASURE_H