diff --git a/hyperstation/code/modules/cargo/sweatshop.dm b/hyperstation/code/modules/cargo/sweatshop.dm
new file mode 100644
index 00000000..cc399d10
--- /dev/null
+++ b/hyperstation/code/modules/cargo/sweatshop.dm
@@ -0,0 +1,153 @@
+//THE TOOLS
+
+/obj/item/handsaw
+ name = "handsaw"
+ desc = "A shoddy tool used to process wood into smaller segments."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "handsaw"
+ slot_flags = ITEM_SLOT_BACK
+ force = 8
+ sharpness = TRUE
+ w_class = WEIGHT_CLASS_HUGE
+ materials = list(MAT_METAL=50)
+ attack_verb = list("slashed", "sawed")
+
+/obj/item/hammer
+ name = "hammer"
+ desc = "A tool used to manually bash nails into place."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "hammer"
+ slot_flags = ITEM_SLOT_BELT
+ force = 7
+ sharpness = FALSE
+ w_class = WEIGHT_CLASS_NORMAL
+ materials = list(MAT_METAL=100)
+ attack_verb = list("bonked", "nailed")
+
+/obj/item/glue
+ name = "glue"
+ desc = "Used to haphazardly stick things together; secured by the toughest Monkey Glue(TM)."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "glue"
+ force = 0
+ sharpness = FALSE
+ w_class = WEIGHT_CLASS_SMALL
+ materials = list(MAT_PLASTIC=25)
+ attack_verb = list("glued", "coughed")
+
+/obj/item/borer
+ name = "manual borer"
+ desc = "An incredibly awful tool used to manually drill holes into something... Surely there's a better option."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "borer"
+ force = 3
+ sharpness = TRUE
+ w_class = WEIGHT_CLASS_SMALL
+ materials = list(MAT_METAL=25)
+ attack_verb = list("bored", "drilled")
+
+/obj/item/sandpaper
+ name = "sandpaper strip"
+ desc = "A strip of sandpaper, commonly used for sanding down rough surfaces into a more smooth shape."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "sandpaper"
+ force = 1
+ sharpness = FALSE
+ w_class = WEIGHT_CLASS_TINY
+ materials = list(MAT_GLASS=1) //lmao
+ attack_verb = list("sanded", "licked")
+
+/obj/item/nails
+ name = "metal nails"
+ desc = "A bunch of nails, used for hammering into things."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "nails"
+ force = 0
+ sharpness = TRUE
+ w_class = WEIGHT_CLASS_TINY
+ materials = list(MAT_METAL=10)
+ attack_verb = list("nailed", "screwed")
+
+/obj/item/woodenplatform
+ name = "wood platform"
+ desc = "A somewhat sturdy cropping of a plank. This one is an alright foundation for chairs and stools."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "wood-platform"
+ force = 3
+ sharpness = FALSE
+ w_class = WEIGHT_CLASS_NORMAL
+ attack_verb = list("slapped", "thunked")
+
+/obj/item/woodenblock
+ name = "wood block"
+ desc = "A chopped platform into a wooden block. This one can be used for sanded into pegs, or used as a base on it's own."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "wood-block"
+ force = 2
+ sharpness = FALSE
+ w_class = WEIGHT_CLASS_SMALL
+ attack_verb = list("slapped", "thunked")
+
+/obj/item/woodenpeg
+ name = "wood peg"
+ desc = "A wooden peg. Useful for fitting into holes."
+ icon = 'hyperstation/icons/obj/sweatshop.dmi'
+ icon_state = "wood-peg"
+ force = 1
+ sharpness = FALSE
+ w_class = WEIGHT_CLASS_TINY
+ attack_verb = list("donked", "thunked")
+
+//BASIC RECIPES - To do, add sound
+
+/obj/item/stack/sheet/mineral/wood/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/handsaw))
+ to_chat(user," You begin to saw [src] in half...")
+ if(isturf(loc) && do_after(user, 40))
+ new /obj/item/woodenplatform(loc)
+ new /obj/item/woodenplatform(loc) //send help i dont know how to make two in the same line lmfao
+ to_chat(user, " You saw [src] in half.")
+ qdel(src)
+ else
+ to_chat(user, "You need to put [src] on a surface and hold still to saw it!")
+ else
+ ..()
+
+/obj/item/woodenplatform/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/handsaw))
+ to_chat(user," You begin cut [src] into smaller pieces...")
+ if(isturf(loc) && do_after(user, 20))
+ new /obj/item/woodenblock(loc)
+ new /obj/item/woodenblock(loc)
+ new /obj/item/woodenblock(loc)
+ new /obj/item/woodenblock(loc)
+ to_chat(user, " You cut [src] into four pieces.")
+ qdel(src)
+ else
+ to_chat(user, "You need to put [src] on a surface and hold still to saw it!")
+ else
+ ..()
+
+/obj/item/woodenblock/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/sandpaper))
+ to_chat(user," You carefully begin to sand down [src]...")
+ if(isturf(loc) && do_after(user, 50))
+ new /obj/item/woodenpeg(loc)
+ to_chat(user, " You smooth [src] into a peg.")
+ qdel(src)
+ else
+ to_chat(user, "You need to put [src] on a surface and hold still to sand it!")
+ else
+ ..()
+
+/obj/item/stack/rods/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/wirecutters))
+ to_chat(user," You tediously begin to cut [src] into several nails.")
+ if(isturf(loc) && do_after(user, 80))
+ new /obj/item/nails(loc)
+ to_chat(user, " You make some crude metal nails.")
+ qdel(src)
+ else
+ to_chat(user, "You need to put [src] on a surface and hold still to cut it!")
+ else
+ ..()
diff --git a/hyperstation/icons/obj/sweatshop.dmi b/hyperstation/icons/obj/sweatshop.dmi
new file mode 100644
index 00000000..5064ebfe
Binary files /dev/null and b/hyperstation/icons/obj/sweatshop.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 786d2983..dc041672 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3035,6 +3035,7 @@
#include "hyperstation\code\modules\admin\verbs\hyperverbs.dm"
#include "hyperstation\code\modules\antagonists\werewolf\werewolf.dm"
#include "hyperstation\code\modules\arousal\arousalhud.dm"
+#include "hyperstation\code\modules\cargo\sweatshop.dm"
#include "hyperstation\code\modules\client\loadout\glasses.dm"
#include "hyperstation\code\modules\client\loadout\tablet.dm"
#include "hyperstation\code\modules\clothing\head.dm"