diff --git a/package-lock.json b/package-lock.json
index a5848437d7f6b2b08a9cbd23acc1605d3eaa8322..b87fa304de5687e38c4ad39605ed52736d1e29e7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -939,6 +939,11 @@
         "@hapi/hoek": "6.x.x"
       }
     },
+    "@icons/material": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz",
+      "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw=="
+    },
     "@jest/console": {
       "version": "24.7.1",
       "resolved": "https://registry.npmjs.org/@jest/console/-/console-24.7.1.tgz",
@@ -7932,6 +7937,11 @@
         "object-visit": "^1.0.0"
       }
     },
+    "material-colors": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
+      "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg=="
+    },
     "md5.js": {
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
@@ -10050,6 +10060,19 @@
         "whatwg-fetch": "3.0.0"
       }
     },
+    "react-color": {
+      "version": "2.17.3",
+      "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.17.3.tgz",
+      "integrity": "sha512-1dtO8LqAVotPIChlmo6kLtFS1FP89ll8/OiA8EcFRDR+ntcK+0ukJgByuIQHRtzvigf26dV5HklnxDIvhON9VQ==",
+      "requires": {
+        "@icons/material": "^0.2.4",
+        "lodash": "^4.17.11",
+        "material-colors": "^1.2.1",
+        "prop-types": "^15.5.10",
+        "reactcss": "^1.2.0",
+        "tinycolor2": "^1.4.1"
+      }
+    },
     "react-cookie": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/react-cookie/-/react-cookie-4.0.0.tgz",
@@ -10237,6 +10260,14 @@
         "workbox-webpack-plugin": "4.2.0"
       }
     },
+    "reactcss": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz",
+      "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==",
+      "requires": {
+        "lodash": "^4.0.1"
+      }
+    },
     "read-pkg": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
@@ -11668,6 +11699,11 @@
       "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
       "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
     },
+    "tinycolor2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz",
+      "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
+    },
     "tmp": {
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
diff --git a/package.json b/package.json
index c3c2d357e9afdc74879bf2293e8c80d887aef513..88fddfbef5a2435db648728f1b4e4d9e4d127730 100644
--- a/package.json
+++ b/package.json
@@ -7,12 +7,13 @@
     "leaflet": "^1.5.1",
     "leaflet-draw": "^1.0.4",
     "react": "^16.8.6",
+    "react-color": "^2.17.3",
     "react-cookie": "^4.0.0",
     "react-dom": "^16.8.6",
     "react-leaflet": "^2.3.0",
     "react-leaflet-draw": "0.19.0",
-    "universal-cookie": "^4.0.0",
-    "react-scripts": "3.0.1"
+    "react-scripts": "3.0.1",
+    "universal-cookie": "^4.0.0"
   },
   "scripts": {
     "start": "react-scripts start",
diff --git a/src/components/EditGameForm.js b/src/components/EditGameForm.js
index 68773d82fadcf47553f18653a44973d40438f393..55247e638269ca8cb9d888d972cc9ec75aa08857 100644
--- a/src/components/EditGameForm.js
+++ b/src/components/EditGameForm.js
@@ -1,6 +1,8 @@
 import React, { Fragment } from "react";
 import ReactDOM from "react-dom";
 import { Map, TileLayer } from "react-leaflet";
+import { SketchPicker } from "react-color";
+import reactCSS from "reactcss";
 
 export class EditGameForm extends React.Component {
   constructor(props) {
@@ -21,12 +23,14 @@ export class EditGameForm extends React.Component {
       },
       factionNameInput: "", // >= 2 chars
       factionPasswordInput: "", // >= 3 chars
+      factionColorInput: "#852222",
       factions: [],
       objectivePointDescriptionInput: "", // >= 7
       objectivePointMultiplierInput: "", // number
       objectivePoints: [],
       capture_time: 300,
-      confirmation_time: 60
+      confirmation_time: 60,
+      displayColorPicker: false
     };
 
     this.handleMapDrag = this.handleMapDrag.bind(this);
@@ -66,6 +70,7 @@ export class EditGameForm extends React.Component {
       factions.push({
         factionName: this.state.factionNameInput,
         factionPassword: this.state.factionPasswordInput,
+        colour: this.state.factionColorInput,
         multiplier: 1
       });
       return {
@@ -253,12 +258,16 @@ export class EditGameForm extends React.Component {
       },
       body: JSON.stringify(gameObject)
     })
-      .then(res => res.json())
+      .then(res => {
+        if (!res.ok) {
+          throw Error(res.statusMessage);
+        } else {
+          return res.json();
+        }
+      })
       .then(result => {
         alert(result.message);
-        if (result.code === 200) {
-          this.handleView();
-        }
+        this.handleView();
       })
       .catch(error => console.log("Error: ", error));
   };
@@ -298,7 +307,8 @@ export class EditGameForm extends React.Component {
           return {
             factionName: faction.factionName,
             factionPassword: faction.factionPassword,
-            multiplier: 1
+            multiplier: 1,
+            colour: faction.colour
           };
         });
 
@@ -349,7 +359,7 @@ export class EditGameForm extends React.Component {
       const faction = this.state.factions[i];
       factions.push(
         <li key={faction.factionName}>
-          <div>
+          <div style={{ color: faction.colour }}>
             {faction.factionName} : {faction.factionPassword}
           </div>
           <button
@@ -382,6 +392,36 @@ export class EditGameForm extends React.Component {
       );
     }
 
+    const styles = reactCSS({
+      default: {
+        color: {
+          width: "36px",
+          height: "14px",
+          borderRadius: "2px",
+          background: `${this.state.factionColorInput}`
+        },
+        swatch: {
+          padding: "5px",
+          background: "#fff",
+          borderRadius: "1px",
+          boxShadow: "0 0 0 1px rgba(0,0,0,.1)",
+          display: "inline-block",
+          cursor: "pointer"
+        },
+        popover: {
+          position: "absolute",
+          zIndex: "2"
+        },
+        cover: {
+          position: "fixed",
+          top: "0px",
+          right: "0px",
+          bottom: "0px",
+          left: "0px"
+        }
+      }
+    });
+
     return ReactDOM.createPortal(
       <div className="fade-main">
         <div className="sticky">
@@ -490,6 +530,29 @@ export class EditGameForm extends React.Component {
             placeholder="Faction password"
             form="factionAddFrom"
           />
+          <div
+            style={styles.swatch}
+            onClick={() =>
+              this.setState({
+                displayColorPicker: !this.state.displayColorPicker
+              })
+            }
+          >
+            <div style={styles.color} />
+          </div>
+          {this.state.displayColorPicker && (
+            <div
+              style={styles.cover}
+              onClick={() => this.setState({ displayColorPicker: false })}
+            >
+              <SketchPicker
+                color={this.state.factionColorInput}
+                onChangeComplete={color =>
+                  this.setState({ factionColorInput: color.hex })
+                }
+              />
+            </div>
+          )}
           <button type="submit" form="factionAddFrom">
             Add
           </button>
diff --git a/src/components/GameList.js b/src/components/GameList.js
index 3a3724d68893ad8a1266fdb3f2391b11fdb6c27f..aa8d330e37d218f20bba5598deb772e862abd96f 100644
--- a/src/components/GameList.js
+++ b/src/components/GameList.js
@@ -51,7 +51,7 @@ class GameList extends React.Component {
       },
       () => {
         // taking the changed gameID to UserMap.js (GameList.js -> Header.js -> App.js -> UserMap.js)
-        this.props.handleGameChange(this.state.selectedGame);
+        //this.props.handleGameChange(this.state.selectedGame);
       }
     );
   };