diff --git a/controllers/game.py b/controllers/game.py
index d91ff71869cb99cba4565f9b31746aad55a1e691..358c3369cccee45807b939c75f5494ff93800fb1 100644
--- a/controllers/game.py
+++ b/controllers/game.py
@@ -63,13 +63,17 @@ def roles():
         return(FAIL(CODE_GONE))
 
     players = PLAYERS_GET(room_record, True)
-    server_rolechange = {}
-    client_rolechange = {}
+
+
+    #===========================================
+    #Parse Roles for each player
+    change = {}
 
     for player in players:
         playerid = str(player["id"])
 
         if not playerid in user_roles:
+            #We do not have a role change for this player
             continue
 
         definition = user_roles[playerid]
@@ -77,19 +81,23 @@ def roles():
         if not isinstance(definition, dict):
             return(FAIL(CODE_MISSING))
 
-        if not JSON_CONTAINS(definition, [("role", str)]):
+        if not JSON_CONTAINS(definition, [("role", str), ("submits", list)]):
             return(FAIL(CODE_MISSING))
 
-        client_rolechange[player["uid"]] = {"role": definition["role"]}
-
-        if player["role"] != definition["role"]:
-            server_rolechange[player["uid"]] = definition["role"]
+        for submit in definition["submits"]:
+            if not isinstance(submit, dict):
+                return(FAIL(CODE_MISSING))
 
-    for uid in server_rolechange:
-        db(db.Player.id == uid).update(role=server_rolechange[uid])
+        change[player["uid"]] = definition
+    #===========================================
 
-    websocket_response = base64.standard_b64encode(json.dumps(client_rolechange).encode("ascii")).decode("utf-8")
+    #Update roles and submits on server
+    for uid in change:
+        submitString = base64.standard_b64encode(json.dumps(change[uid]["submits"]).encode("ascii")).decode("utf-8")
+        db(db.Player.id == uid).update(role=change[uid]["role"], submits=submitString)
 
+    #Update roles on clients
+    websocket_response = base64.standard_b64encode(json.dumps(change).encode("ascii")).decode("utf-8")
     WEBSOCKET_SEND(room_record, "role", websocket_response)
 
     json_response = {"status": "success"}
diff --git a/models/i_players.py b/models/i_players.py
index f9af041c7c62839b176d39a31440e49d10330c4b..2ec12521af5a4714e9716eea29c3d030eb351c21 100644
--- a/models/i_players.py
+++ b/models/i_players.py
@@ -4,6 +4,7 @@ db.define_table(
     Field('hashcode', 'string', notnull=True),
     Field('name', 'string', notnull=True),
     Field('role', 'string', default="idle"),
+    Field('submits', 'string', default=base64.standard_b64encode(b'[]'), notnull=True),
     Field('creation', 'datetime', default=request.now, notnull=True)
 )
 
diff --git a/static/renderer/debug.js b/static/renderer/debug.js
index 41ab8371a03ff613da9e1889b9df4e9eb5df4d43..13b000673dc99ed924b607c4a1accdedfdd27fcd 100644
--- a/static/renderer/debug.js
+++ b/static/renderer/debug.js
@@ -47,6 +47,8 @@ function renderRole(_definition, _roleIdle) {
 
     $("#game_content").html("");
 
+    var currentSubmit = submits[submitcount];
+
     for(var index in elements) {
 
         var element = elements[index];
@@ -56,6 +58,14 @@ function renderRole(_definition, _roleIdle) {
         var name = element["name"];
         var value = element["value"];
 
+        if(currentSubmit){
+            for(var varname in currentSubmit){
+                while(value.indexOf("$"+varname) != -1){
+                    value = value.replace("$"+varname, currentSubmit[varname]);
+                }
+            }
+        }
+
         var e;
         switch(type) {
             case "text":
diff --git a/views/game/index.html b/views/game/index.html
index 6d1720a32ebb43d5b0dc015d81bb2414be36ffcf..74daff17c4ad4ca63a6ed8acc42bd1ece7e99ecc 100644
--- a/views/game/index.html
+++ b/views/game/index.html
@@ -18,6 +18,8 @@
     var playerid = "{{=player_record.id}}";
     var role = "{{=player_record.role}}";
     var roles = JSON.parse(atob('{{=XML(room_record.roles)}}'));
+    var submits = JSON.parse(atob('{{=XML(player_record.submits)}}'));;
+    var submitcount = 0;
 </script>
 
 {{block game_js}}{{end game_js}}
diff --git a/views/include/websocket.html b/views/include/websocket.html
index 4acf4006ef474a28ab7aeff9b05d9add1375fec2..4453964d79078c8dff5cc739d2e3c0c3e96dd009 100644
--- a/views/include/websocket.html
+++ b/views/include/websocket.html
@@ -25,6 +25,8 @@
                         role_definition = JSON.parse(atob(data));
                         if(playerid in role_definition) {
                             role = role_definition[playerid]["role"];
+                            submits = role_definition[playerid]["submits"];
+                            submitcount = 0;
                         }
                         break;
                     default: