diff --git a/CHANGELOG.md b/CHANGELOG.md
index 89c8f0b6eea0642b5fa8edd1d6c6506c93cc553d..2fbcc9883cba27a01a0394b5088e5b4aff545d53 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## 1.1.8 - 30-01-2020
+### Added
+- Route to assign users to forms #60 (Richard Heise)
+## Changed
+- Route to write a form now has an extra stage in the waterfall
+- THis stage assigns the user to a form by ID
+
 ## 1.1.7 - 29-01-2020
 ### Added
 - Function to assign users to forms #54 (Gianfranco)
diff --git a/package.json b/package.json
index 334ecc3d10b0fdd4c719c715e6dd23d8a2f51185..c65f3c2699828491f5116943612da5ff2e0892b7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "form-creator-api",
-  "version": "1.1.7",
+  "version": "1.1.8",
   "description": "RESTful API used to manage and answer forms.",
   "main": "index.js",
   "scripts": {
diff --git a/src/api/controllers/form.spec.ts b/src/api/controllers/form.spec.ts
index 5db2e01bb1bf701cdb2d1aadb308d39c21d7ed2d..de86a1a42afad955519a5ea341215d7199bff0e8 100644
--- a/src/api/controllers/form.spec.ts
+++ b/src/api/controllers/form.spec.ts
@@ -55,39 +55,42 @@ before(function (done): void {
 
 export let testToken: string;
 
-it ("Should respond 200 when signing up a valid user", (done) => {
-    request(server) 
-        .post("/user/signUp")
-        .send({
-            name: "Test_name"
-            , email: "test_email@test.com"
-            , hash: "Test_pw"
-        })
-        .expect(200)
-        .expect((res: any) => {
-            expect(res.body).to.be.an("object");
-            expect(res.body.message).to.be.an("string");
-            expect(res.body.message).to.be.equal("User registered with sucess.");
-        })
-        .end(done);
-});
+describe("Initial test User", () => {
+    it ("Should respond 200 when signing up a valid user", (done) => {
+        request(server) 
+            .post("/user/signUp")
+            .send({
+                name: "Test_name"
+                , email: "test_email@test.com"
+                , hash: "Test_pw"
+            })
+            .expect(200)
+            .expect((res: any) => {
+                expect(res.body).to.be.an("object");
+                expect(res.body.message).to.be.an("string");
+                expect(res.body.message).to.be.equal("User registered with sucess.");
+            })
+            .end(done);
+    });
+    
+    it("Should respond 200 when validating an user signIn", (done) => {
+        request(server)
+            .post("/user/signIn")
+            .send({
+                email: "test_email@test.com"
+                , hash: "Test_pw"
+            })
+            .expect(200)
+            .expect((res: any) => {
+                expect(res.body).to.be.an("object");
+                expect(res.body.message).to.be.an("string");
+                expect(res.body.message).to.be.equal("Authentication successful.");
+                testToken = res.body.token;
+            })
+            .end(done);
+    });
+})
 
-it("Should respond 200 when validating an user signIn", (done) => {
-    request(server)
-        .post("/user/signIn")
-        .send({
-            email: "test_email@test.com"
-            , hash: "Test_pw"
-        })
-        .expect(200)
-        .expect((res: any) => {
-            expect(res.body).to.be.an("object");
-            expect(res.body.message).to.be.an("string");
-            expect(res.body.message).to.be.equal("Authentication successful.");
-            testToken = res.body.token;
-        })
-        .end(done);
-});
 
 describe("API data controller - form", () => {    
     it("should respond 200 when getting a list of forms", (done) => {
diff --git a/src/api/controllers/form.ts b/src/api/controllers/form.ts
index c8576b12d342115b67e0981594a4284fac23111a..6a359205625f47e27603686293a780cc1e8737f3 100644
--- a/src/api/controllers/form.ts
+++ b/src/api/controllers/form.ts
@@ -96,12 +96,30 @@ export class FormCtrl {
                     callback(null, formUpdate);
                 });
             },
-            (formUpdate: FormUpdate, callback: (err: Error, formId: number) => void) => {
+            (formUpdate: FormUpdate, callback: (err: Error, formId?: number) => void) => {
                 req.db.form.update(formUpdate, (err: Error) => {
-                        callback(err, formUpdate.form.id);
+
+                    if (err) {
+                        callback(err);
+                        return;
+                    }
+
+                    callback(null, formUpdate.form.id);
+                });
+            },
+            (formId: number, callback: (err: Error) => void) => {
+                /** req.userData has to be parsed into an object so we can get its ID */
+                req.db.user.assign(Object(req.userData).id, formId, (err: Error) => {
+
+                    if (err) {
+                        callback(err);
+                        return;
+                    }
+
+                    callback(null);
                 });
             }
-        ], (err, resultId) => {
+        ], (err) => {
             if (err) {
                 res.status(500).json({
                     message: "Could not insert form. Some error has occurred. Check error property for details."
@@ -111,8 +129,7 @@ export class FormCtrl {
             }
 
             res.json({
-                id: resultId
-                , message: "Form added. Id on key 'id'"
+                message: "Form added."
             });
             return;
         });