diff --git a/CodeExamples/Week6/players-api/route.rest b/CodeExamples/Week6/players-api/route.rest
index 313e33ec950809ff80aae63dc2c2be5eb74757ce..fa96ecb7e9191e7307a6cfc66a87fb7db879dd18 100644
--- a/CodeExamples/Week6/players-api/route.rest
+++ b/CodeExamples/Week6/players-api/route.rest
@@ -10,4 +10,22 @@ Content-Type: application/json
     "sportAffiliatedWith": "tennis",
     "countryOfBirth": "USA",
     "active": "false" 
-}
\ No newline at end of file
+}
+
+###
+
+GET http://localhost:4000/players/60e5b14706e73b46598cf557
+
+###
+
+DELETE http://localhost:4000/players/60e5b3858f53ff46d02a54a3
+
+###
+
+PUT http://localhost:4000/players/60e5b14706e73b46598cf557
+Content-Type: application/json
+
+{
+    "countryOfBirth": "USA",
+    "active": false
+}
diff --git a/CodeExamples/Week6/players-api/routes/players.js b/CodeExamples/Week6/players-api/routes/players.js
index 21a7e7f6d5932a22ec3fc3cd3d4ac86227e4035a..fd62f9ebf516b91cb6e624695769b182b91d111f 100644
--- a/CodeExamples/Week6/players-api/routes/players.js
+++ b/CodeExamples/Week6/players-api/routes/players.js
@@ -35,15 +35,63 @@ router.post('/', async (req, res) => {
 
 // retrieve a single player in our database
 
-
+router.get('/:id', getPlayer, logPlayer, async (req, res) => {
+    res.json(res.player)
+})
 
 
 // update a single player in our database
 
-
-
+router.put('/:id', getPlayer, async (req, res) => {
+    if (req.body.name != null) {
+        res.player.name = req.body.name
+    }
+    if (req.body.sportAffiliatedWith != null) {
+        res.player.sportAffiliatedWith = req.body.sportAffiliatedWith
+    }
+    if (req.body.countryOfBirth != null) {
+        res.player.countryOfBirth = req.body.countryOfBirth
+    }
+    if (req.body.active != null) {
+        res.player.active = req.body.active
+    }
+    try {
+        const updatedPlayer = await res.player.save()
+        res.json(updatedPlayer)
+    } catch (err) {
+        res.status(400).json({ message: err.message})
+    }
+})
 
 // delete a single player in our database
+router.delete('/:id', getPlayer, async (req, res) => {
+    try {
+        await res.player.remove()
+        res.json({message: 'Successfully deleted player'})
+    } catch (err) {
+        res.status(500).json({message: err.message})
+    }
+})
+
 
+// example of custom middleware
+async function getPlayer(req, res, next) {
+    let player
+    try {
+        player = await Player.findById(req.params.id)
+        if (player == null) {
+            return res.status(404).json({message: 'Player not found'})
+        }
+    } catch (err) {
+        return res.status(500).json({message: err.message})
+    }
+    res.player = player
+    next()
+}
+
+function logPlayer(req, res, next) {
+    console.log(res.player)
+    next()
+}
 
 module.exports = router
\ No newline at end of file