diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 7d8f1289ce6..8a327ecb8e8 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -164,9 +164,13 @@ BLIND // can't see anything
hastie = I
I.loc = src
user << "You attach [I] to [src]."
+
if (istype(hastie,/obj/item/clothing/tie/holster))
verbs += /obj/item/clothing/under/proc/holster
+ if (istype(hastie,/obj/item/clothing/tie/storage))
+ verbs += /obj/item/clothing/under/proc/storage
+
if(istype(loc, /mob/living/carbon/human))
var/mob/living/carbon/human/H = loc
H.update_inv_w_uniform()
@@ -227,9 +231,16 @@ BLIND // can't see anything
if(hastie)
usr.put_in_hands(hastie)
hastie = null
+
if (istype(hastie,/obj/item/clothing/tie/holster))
verbs -= /obj/item/clothing/under/proc/holster
+ if (istype(hastie,/obj/item/clothing/tie/storage))
+ verbs -= /obj/item/clothing/under/proc/storage
+ var/obj/item/clothing/tie/storage/W = hastie
+ if (W.hold)
+ W.hold.loc = hastie
+
if(istype(loc, /mob/living/carbon/human))
var/mob/living/carbon/human/H = loc
H.update_inv_w_uniform()
@@ -274,3 +285,23 @@ BLIND // can't see anything
"\blue You draw \the [H.holstered], pointing it at the ground.")
usr.put_in_hands(H.holstered)
H.holstered = null
+
+/obj/item/clothing/under/proc/storage()
+ set name = "Look in storage"
+ set category = "Object"
+ set src in usr
+ if(!istype(usr, /mob/living)) return
+ if(usr.stat) return
+
+ if (!hastie || !istype(hastie,/obj/item/clothing/tie/storage))
+ usr << "\red You need something to store items in for that!"
+ return
+ var/obj/item/clothing/tie/storage/W = hastie
+
+ if (!istype(W.hold))
+ return
+
+ W.hold.loc = usr
+ W.hold.attack_hand(usr)
+
+
diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm
index 703b492163e..71a8e01c667 100644
--- a/code/modules/clothing/under/ties.dm
+++ b/code/modules/clothing/under/ties.dm
@@ -174,3 +174,56 @@
desc = "A handgun holster. Made of expensive leather."
icon_state = "holster"
color = "holster_low"
+
+/obj/item/clothing/tie/storage
+ name = "load beearing equipment"
+ desc = "Used to hold things when you don't have enough hands for that."
+ icon_state = "webbing"
+ color = "webbing"
+ var/slots = 3
+ var/obj/item/weapon/storage/pockets/hold
+
+/obj/item/clothing/tie/storage/New()
+ hold = new /obj/item/weapon/storage/pockets(src)
+ hold.master_item = src
+ hold.storage_slots = slots
+
+/obj/item/clothing/tie/storage/attack_self(mob/user as mob)
+ user << "You empty [src]."
+ var/turf/T = get_turf(src)
+ hold.hide_from(usr)
+ for(var/obj/item/I in hold.contents)
+ hold.remove_from_storage(I, T)
+ src.add_fingerprint(user)
+
+/obj/item/clothing/tie/storage/attackby(obj/item/weapon/W as obj, mob/user as mob)
+ hold.attackby(W,user)
+ src.add_fingerprint(user)
+
+/obj/item/weapon/storage/pockets
+ name = "webbing pockets"
+ var/master_item //item it belongs to
+
+/obj/item/weapon/storage/pockets/close(mob/user as mob)
+ ..()
+ loc = master_item
+
+/obj/item/clothing/tie/storage/webbing
+ name = "webbing"
+ desc = "Strudy mess of synthcotton belts and buckles, ready to share your burden."
+ icon_state = "webbing"
+ color = "webbing"
+
+/obj/item/clothing/tie/storage/black_vest
+ name = "black webbing vest"
+ desc = "Robust black synthcotton vest with lots of pockets to hold whatever you need, but cannot hold in hands."
+ icon_state = "vest_black"
+ color = "vest_black"
+ slots = 5
+
+/obj/item/clothing/tie/storage/brown_vest
+ name = "black webbing vest"
+ desc = "Worn brownish synthcotton vest with lots of pockets to unload your hands."
+ icon_state = "vest_brown"
+ color = "vest_brown"
+ slots = 5
\ No newline at end of file
diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi
index 1d9bee649f7..8f487a3fe24 100644
Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ
diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi
index 387ffaf3f37..4593ef6283d 100644
Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ