diff --git a/routes/gitlab.js b/routes/gitlab.js
index 67b300a029bb75e8677cf7babede283e9983a3db..49e89807f7b1ce0a714221a6b7b0c363bd276f56 100644
--- a/routes/gitlab.js
+++ b/routes/gitlab.js
@@ -27,15 +27,14 @@ var gitlab = {
             callback(res)
         })
     },
-    // todo: fixing callback
-    createNewPages: function(newPagesdata, callback) {
+    createNewPages: function(newPagesData, newLogoFile, callback) {
         let data = new formData()
-        data.append('avatar', fs.createReadStream(newPagesdata.avatar))
+        data.append('avatar', fs.createReadStream(newLogoFile))
 
         let dataConfig = {
             method: 'post',
-            url: 'https://transfer.hft-stuttgart.de/gitlab/api/v4/projects/user/'+newPagesdata.gitlabUserId+
-                '?name='+newPagesdata.name+'&description='+newPagesdata.description+'&tag_list=website'+
+            url: 'https://transfer.hft-stuttgart.de/gitlab/api/v4/projects/user/'+newPagesData.getOwnerGitlabId()+
+                '?name='+newPagesData.getName()+'&description='+newPagesData.getDesc()+'&tag_list=website'+
                 '&use_custom_template=true&template_name=page_basic',
             headers: { 
                 'Authorization': 'Bearer '+config.gitlab.token_readWriteProjects, 
@@ -45,13 +44,52 @@ var gitlab = {
         }
 
         axios(dataConfig)
-        .then(function (response) {
-            callback(response.data)
+        .then(response => {
+            let res = {
+                error: false,
+                data: response.data}
+            callback(res)
+        })
+        .catch(err => {
+            console.log(err)
+            let res = {
+                error: true,
+                data: err.response.data}
+            callback(res)
+        })
+    },
+    updateProject: function(updatedProjectData, newLogoFile, callback){
+        console.log(updatedProjectData)
+        let data = new formData()
+        if (newLogoFile) {
+            data.append('avatar', fs.createReadStream(newLogoFile))
+        }
+        
+        let dataConfig = {
+            method: 'put',
+            url: 'https://transfer.hft-stuttgart.de/gitlab/api/v4/projects/'+updatedProjectData.getId()+
+                '?name='+updatedProjectData.getName()+'&description='+updatedProjectData.getDesc(),
+            headers: { 
+                'Authorization': 'Bearer '+config.gitlab.token_readWriteProjects, 
+                ...data.getHeaders()
+            },
+            data : data
+        }
+
+        axios(dataConfig)
+        .then(response => {
+            let res = {
+                error: false,
+                data: response.data}
+            callback(res)
+        })
+        .catch(err => {
+            console.log(err)
+            let res = {
+                error: true,
+                data: err.response.data}
+            callback(res)
         })
-        .catch(function (err) {
-            if(err)
-                callback(err.response.data)
-        }) 
     },
     getUserProjects: function(gitlabUserId, callback) {
         axios.get('https://transfer.hft-stuttgart.de/gitlab/api/v4/users/'+gitlabUserId+'/projects?private_token='+
@@ -65,7 +103,7 @@ var gitlab = {
         .catch(err => {
             let res = {
                 error: true,
-                data: err}
+                data: err.message}
             callback(res)
         })
     },