diff --git a/MVC/farger.html b/MVC/farger.html
new file mode 100644
index 0000000..ccd2ff1
--- /dev/null
+++ b/MVC/farger.html
@@ -0,0 +1,42 @@
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/MVC/farger.js b/MVC/farger.js
new file mode 100644
index 0000000..46f73ff
--- /dev/null
+++ b/MVC/farger.js
@@ -0,0 +1,72 @@
+// model
+
+let colors = ['red', 'green', 'blue', 'yellow', 'grey']
+let isAdding = false;
+let addColorName;
+
+
+// view
+updateView();
+function updateView() {
+ document.getElementById('app').innerHTML = /*HTML*/`
+ ${createAddColorHtml()}
+
+ ${createColorsHtml()}
+
+ `;
+}
+function createAddColorHtml() {
+ if (!isAdding) return '';
+ return /*HTML*/ `
+
+
+
+ `;
+
+}
+function addColor() {
+ colors.push(addColorName);
+ isAdding = false;
+ addColorName = '';
+ updateView();
+}
+function createColorHtml() {
+ let colorsHtml = '';
+ for (let i = 0; i < colors.lenght; i++) {
+ let color = colors[i];
+ colorsHtml += /*HTML*/ `
+
+ `;
+ }
+ return colorsHtml;
+}
+// Controller
+function addColor(){
+ colors.push(addColorName);
+ isAdding = false;
+ addColorName = '';
+ updateView();
+}
+function deleteColor(index) {
+ colors.splice(index, 1)
+ updateView();
+}
+function startAdd() {
+ isAdding = true;
+ updateView();
+
+}
+function cancelAdd() {
+ isAdding = false;
+ updateView();
+}
\ No newline at end of file