diff --git a/src/api.ts b/src/api.ts
index 0d199ee..bd59cc3 100644
--- a/src/api.ts
+++ b/src/api.ts
@@ -6,7 +6,7 @@ import {
 	getUserByID,
 	groups,
 	users,
-	pools,
+    pools
 } from './data';
 
 export const router = Router();
@@ -26,19 +26,17 @@ router.get('/user', (req, res) => {
 	}
 });
 
-// router.post('/user', (req, res) => {
-// 	if (req.body.userID in users) {
-// 		res.json({ status: 'error', error: 'already_exists' });
-// 	} else {
-// 		users[req.body.userID] = {
-// 			id: req.body.userID,
-// 			username: req.body.username,
-// 			first_name: req.body.first_name,
-// 			last_name: req.body.last_name,
-// 		};
-// 		res.json({ status: 'success' });
-// 	}
-// });
+router.patch('/user', (req, res) => {
+    if(!(req.body.userID in users)) {
+        res.json({status: 'error', error: 'user not found'});
+    } else {
+        let user = users[req.body.userID];
+        user.username = req.body.username;
+        user.first_name = req.body.first_name;
+        user.last_name = req.body.last_name;
+        res.json({status: 'success'});
+    }
+});
 
 router.delete('/user', (req, res) => {
 	delete users[req.body.userID];
@@ -61,32 +59,49 @@ router.get('/pool', (req, res) => {
 });
 
 router.post('/pool', (req, res) => {
-	if (req.body.poolID in pools) {
-		res.json({ status: 'error', error: 'already_exists' });
-	} else {
-		pools[req.body.poolID] = {
-			id: req.body.poolID,
-			title: req.body.title,
-			description: req.body.description,
-			participant_ids: [],
-			driver_id: 'no driver',
-			create_time: 'create time',
-			update_time: 'update time',
-			comments: [],
-			group_id: 'no group',
-			status: 'pending',
-			capacity: 0,
-			direction: 'pickup',
-			author_id: 'no author',
-			type: 'request',
-		};
-		res.json({ status: 'success' });
-	}
+    if(req.body.poolID in pools) {
+        res.json({status: 'error', error: 'already_exists'});
+    }
+    else {
+        pools[req.body.poolID] = {
+            id: req.body.poolID,
+            title: req.body.title,
+            description: req.body.description,
+            participant_ids: [],
+            driver_id: 'no driver',
+            create_time: 'create time',
+            update_time: 'update time',
+            comments: [],
+            group_id: 'no group',
+            status: 'pending',
+            capacity: 0,
+            direction: 'pickup',
+            author_id: 'no author',
+            type: 'request'
+        }
+        res.json({status: 'success'});
+    }
+});
+
+router.patch('/pool', (req, res) => {
+    if(!(req.body.poolID in pools)) {
+        res.json({status: 'error', error: 'pool not found'});
+    } else {
+        let pool = users[req.body.poolID];
+        pool.title = req.body.title;
+        pool.description = req.body.description;
+        pool.driver_id = req.body.driver_id;
+        pool.update_time = req.body.update_time;
+        pool.status = req.body.status;
+        pool.capacity = req.body.capacity;
+        pool.direction = req.body.direction;
+        res.json({status: 'success'});
+    }
 });
 
 router.delete('/pool', (req, res) => {
-	delete pools[req.body.poolID];
-	res.json({ status: 'success' });
+    delete pools[req.body.poolID];
+    res.json({status: 'success'});
 });
 
 router.get('/group', (req, res) => {
@@ -105,20 +120,30 @@ router.get('/group', (req, res) => {
 });
 
 router.post('/group', (req, res) => {
-	if (req.body.groupID in groups) {
-		res.json({ status: 'error', error: 'already_exists' });
-	} else {
-		groups[req.body.groupID] = {
-			id: req.body.groupID,
-			member_ids: [],
-		};
-		res.json({ status: 'success' });
-	}
+    if(req.body.groupID in groups) {
+        res.json({status: 'error', error: 'already_exists'});
+    }
+    else {
+        groups[req.body.groupID] = {
+            id: req.body.groupID,
+            member_ids: []
+        }
+        res.json({status: 'success'});
+    }
+});
+
+router.patch('/group', (req, res) => {
+    if(!(req.body.groupID in groups)) {
+        res.json({status: 'error', error: 'group not found'});
+    } else {
+        let group = users[req.body.groupID];
+        res.json({status: 'success'});
+    }
 });
 
 router.delete('/group', (req, res) => {
-	delete groups[req.body.groupID];
-	res.json({ status: 'success' });
+    delete groups[req.body.groupID];
+    res.json({status: 'success'});
 });
 
 router.get('/my_pools', (req, res) => {
@@ -134,16 +159,4 @@ router.get('/my_pools', (req, res) => {
 	} else {
 		res.json({ status: 'error', error: 'not_found' });
 	}
-});
-
-router.post('/my_pools', (req, res) => {
-	if (req.body.groupID in groups) {
-		res.json({ status: 'error', error: 'already_exists' });
-	} else {
-		groups[req.body.groupID] = {
-			id: req.body.groupID,
-			member_ids: [],
-		};
-		res.json({ status: 'success' });
-	}
-});
+});
\ No newline at end of file