diff --git a/media/attribution.js b/media/attribution.js
index 55694e21..0da3ca60 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -1285,6 +1285,21 @@ const attributionData = {
                 "maurizio-barabani"
             ]
         },
+        {
+            prefix: "./media/clothing/Shoes/",
+            files: [
+                { name: "Vans-Front.svg", source: "https://www.cgtrader.com/free-3d-models/interior/house/vans-old-skool-black" },
+                { name: "Vans-Front Corner.svg", source: "https://www.cgtrader.com/free-3d-models/interior/house/vans-old-skool-black" },
+                { name: "Vans-Side.svg", source: "https://www.cgtrader.com/free-3d-models/interior/house/vans-old-skool-black" },
+                { name: "Vans-Back Corner.svg", source: "https://www.cgtrader.com/free-3d-models/interior/house/vans-old-skool-black" },
+                { name: "Vans-Back.svg", source: "https://www.cgtrader.com/free-3d-models/interior/house/vans-old-skool-black" },
+                { name: "Vans-Bottom.svg", source: "https://www.cgtrader.com/free-3d-models/interior/house/vans-old-skool-black" },
+                { name: "Vans-Top.svg", source: "https://www.cgtrader.com/free-3d-models/interior/house/vans-old-skool-black" },
+            ],
+            authors: [
+                "powwow1"
+            ]
+        },
         {
             prefix: "./media/characters/abbott-absol/",
             files: [
@@ -21317,6 +21332,10 @@ const attributionData = {
             "name": "Maurizio Barabani",
             "url": "https://www.cgtrader.com/maurizio-barabani"
         },
+        "powwow1": {
+            "name": "powwow1",
+            "url": "https://www.cgtrader.com/powwow1"
+        },
     }
 }
 
diff --git a/media/clothing/Shoes/Vans-Back Corner.svg b/media/clothing/Shoes/Vans-Back Corner.svg
new file mode 100644
index 00000000..0ac3dfa8
--- /dev/null
+++ b/media/clothing/Shoes/Vans-Back Corner.svg	
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/clothing/Shoes/Vans-Back.svg b/media/clothing/Shoes/Vans-Back.svg
new file mode 100644
index 00000000..cbabb1af
--- /dev/null
+++ b/media/clothing/Shoes/Vans-Back.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/clothing/Shoes/Vans-Bottom.svg b/media/clothing/Shoes/Vans-Bottom.svg
new file mode 100644
index 00000000..5bfa85a4
--- /dev/null
+++ b/media/clothing/Shoes/Vans-Bottom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/clothing/Shoes/Vans-Front Corner.svg b/media/clothing/Shoes/Vans-Front Corner.svg
new file mode 100644
index 00000000..b81ec1e9
--- /dev/null
+++ b/media/clothing/Shoes/Vans-Front Corner.svg	
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/clothing/Shoes/Vans-Front.svg b/media/clothing/Shoes/Vans-Front.svg
new file mode 100644
index 00000000..446d5d08
--- /dev/null
+++ b/media/clothing/Shoes/Vans-Front.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/clothing/Shoes/Vans-Side.svg b/media/clothing/Shoes/Vans-Side.svg
new file mode 100644
index 00000000..04414dd5
--- /dev/null
+++ b/media/clothing/Shoes/Vans-Side.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/media/clothing/Shoes/Vans-Top.svg b/media/clothing/Shoes/Vans-Top.svg
new file mode 100644
index 00000000..3763eb7f
--- /dev/null
+++ b/media/clothing/Shoes/Vans-Top.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/presets/clothing.js b/presets/clothing.js
index ff735d2c..a1015dcb 100644
--- a/presets/clothing.js
+++ b/presets/clothing.js
@@ -17,6 +17,21 @@ function makeClothing() {
 
     ]
 
+    const dataShoes = [
+        {
+            name: "Vans",
+            sides: {
+                "Front": { height: math.unit(0.1756718009710312, "meters") },
+                "Front Corner": { height: math.unit(0.1756718009710312, "meters") },
+                "Side": { height: math.unit(0.1756718009710312, "meters") },
+                "Back Corner": { height: math.unit(0.1756718009710312, "meters") },
+                "Back": { height: math.unit(0.1756718009710312, "meters") },
+                "Bottom": { height: math.unit(0.4387904107570648, "meters") },
+                "Top": { height: math.unit(0.4387904107570648, "meters") }
+            }
+        }
+    ]
+
     results.push({
         name: "Boots",
         constructor: () => makeAutoVehicleGroup(
@@ -26,6 +41,15 @@ function makeClothing() {
         )
     })
 
+    results.push({
+        name: "Shoes",
+        constructor: () => makeAutoVehicleGroup(
+            dataShoes,
+            "Shoes",
+            "clothing"
+        )
+    })
+
     results.sort((b1, b2) => {
         e1 = b1.constructor();
         e2 = b2.constructor();
diff --git a/presets/objects.js b/presets/objects.js
index 7d38a3fb..d345ceb8 100644
--- a/presets/objects.js
+++ b/presets/objects.js
@@ -47,16 +47,6 @@ function makeObject(name, viewInfo) {
     return makeEntity({ name: name }, views);
 }
 
-SHOE_REFERENCE = 60
-function addShoeView(object, name, points) {
-    object[name] = {
-        height: math.unit(points / SHOE_REFERENCE, "inches"),
-        image: { source: "./media/objects/shoes/shoe_" + name + ".svg" },
-        name: name.replace(/-/g, " ").replace(/\b\w/g, x => x.toUpperCase()),
-        rename: true
-    }
-}
-
 function makeHeight(info, category, prefix = "", type = "objects", rename = true) {
     const views = {};
 
@@ -154,27 +144,6 @@ function makeHeightWeightSphere(info, category, prefix = "", type = "objects") {
     }
 }
 
-function makeShoes() {
-    const views = {};
-
-    [
-        ["flip-flops", 154.239],
-        ["knee-boots", 841.827],
-        ["trainers", 260.607],
-        ["stilettos", 418.839]
-    ].forEach(shoe => {
-        addShoeView(views, shoe[0], shoe[1])
-    });
-
-    return {
-        name: "Shoes",
-        constructor: () => makeObject(
-            "Shoes",
-            views
-        )
-    }
-}
-
 function makeObjects() {
     const results = [];