diff --git a/.gitattributes b/.gitattributes
index 2125666142eb661091cc5f32af2ed2f3fc65571d..5ad9d096e290a01039f6644fc9642b3cf6c40f5b 100755
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,3 @@
-* text=auto
\ No newline at end of file
+* text=auto
+public/js/** binary
+public/css/** binary
diff --git a/app/Http/Controllers/ModalController.php b/app/Http/Controllers/ModalController.php
index d5b993d3a05e0d4ea878caf78b55f5b2b1303bbc..61a3cf10b65e85a874fa48eef90725061a7ef18c 100644
--- a/app/Http/Controllers/ModalController.php
+++ b/app/Http/Controllers/ModalController.php
@@ -6,47 +6,15 @@ use App\Helpers\Helper;
 
 class ModalController extends Controller
 {
-    function location() {
-        return view('modals.location');
-    }
-
-    function model() {
-        return view('modals.model');
-    }
-
-    function statuslabel() {
-        return view('modals.statuslabel')->with('statuslabel_types', Helper::statusTypeList());
-    }
-
-    function supplier() {
-        return view('modals.supplier');
-    }
-
-    function user() {
-        return view('modals.user');
-    }
-
-    function category() {
-        return view('modals.category');
-    }
-
-    function manufacturer() {
-        return view('modals.manufacturer');
-    }
-
-    function kitModel() {
-        return view('modals.kit-model');
-    }
-
-    function kitLicense() {
-        return view('modals.kit-license');
-    }
-
-    function kitConsumable() {
-        return view('modals.kit-consumable');
-    }
-
-    function kitAccessory() {
-        return view('modals.kit-accessory');
+    function show($type, $itemId = null) {
+        $view = view("modals.${type}");
+
+        if($type == "statuslabel") {
+            $view->with('statuslabel_types', Helper::statusTypeList());
+        }
+        if(in_array($type, ['kit-model', 'kit-license', 'kit-consumable', 'kit-accessory'])) {
+            $view->with('kitId', $itemId);
+        }
+        return $view;
     }
 }
diff --git a/resources/assets/js/snipeit_modals.js b/resources/assets/js/snipeit_modals.js
index 6866802b6e7ff58e95f9cc86b848ef587c418340..f1301b03f39bf499ae41cec2cb8c623f81b886c5 100644
--- a/resources/assets/js/snipeit_modals.js
+++ b/resources/assets/js/snipeit_modals.js
@@ -11,7 +11,7 @@
 
  Create a Button looking like this:
 
- <a href='{{ route('modal.user') }}' data-toggle="modal"  data-target="#createModal" data-select='assigned_to' class="btn btn-sm btn-primary">New</a>
+ <a href='{{ route('modal.show', 'user') }}' data-toggle="modal"  data-target="#createModal" data-select='assigned_to' class="btn btn-sm btn-primary">New</a>
 
  If you don't have access to Blade commands (like {{ and }}, etc), you can hard-code a URL as the 'href'
 
diff --git a/resources/views/kits/edit.blade.php b/resources/views/kits/edit.blade.php
index 791de26d888aa8e56a66f85918b69af566fffff1..22c58455791ea2c9f9616721625786fb29901678 100644
--- a/resources/views/kits/edit.blade.php
+++ b/resources/views/kits/edit.blade.php
@@ -39,7 +39,7 @@
                 "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
                 }'>
                 </table>
-                <a href="{{ route('modal.kit.model', ['kit' => $item->id]) }}" data-refresh="kitModelsTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append</a>
+                <a href="{{ route('modal.show', ['type' => 'kit-model', 'itemId' => $item->id]) }}" data-refresh="kitModelsTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append</a>
                 </div>
             </div> <!--.box-body-->
         </div> <!-- /.box.box-default-->
@@ -73,7 +73,7 @@
                     "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
                     }'>
                     </table>
-                    <a href="{{ route('modal.kit.license', ['kit' => $item->id]) }}" data-refresh="kitLicensesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a>
+                    <a href="{{ route('modal.show', [ 'type' => 'kit-license', 'itemId' => $item->id]) }}" data-refresh="kitLicensesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a>
                     </div>
                 </div> <!--.box-body-->
             </div> <!-- /.box.box-default-->
@@ -107,7 +107,7 @@
                     "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
                     }'>
                     </table>
-                    <a href="{{ route('modal.kit.consumable', ['kit' => $item->id]) }}" data-refresh="kitConsumablesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a>
+                    <a href="{{ route('modal.show', ['type' => 'kit-consumable', 'itemId' => $item->id]) }}" data-refresh="kitConsumablesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a>
                     </div>
                 </div> <!--.box-body-->
             </div> <!-- /.box.box-default-->
@@ -141,7 +141,7 @@
                     "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"]
                     }'>
                     </table>
-                    <a href="{{ route('modal.kit.accessory', ['kit' => $item->id]) }}" data-refresh="kitAccessoriesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a>
+                    <a href="{{ route('modal.show', ['type' => 'kit-accessory', 'itemId' => $item->id]) }}" data-refresh="kitAccessoriesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a>
                     </div>
                 </div> <!--.box-body-->
             </div> <!-- /.box.box-default-->
diff --git a/resources/views/modals/kit-accessory.blade.php b/resources/views/modals/kit-accessory.blade.php
index 61d004f4f616bb793a836b6b8598d9f14a7dca10..6e5fd6807ce3d1ea9fad3660ac19a96b1f901924 100644
--- a/resources/views/modals/kit-accessory.blade.php
+++ b/resources/views/modals/kit-accessory.blade.php
@@ -7,11 +7,11 @@
             <h4 class="modal-title">Append accessory{{-- TODO: trans --}}</h4>
         </div>
         <div class="modal-body">
-            <form action="{{ route('api.kits.accessories.store', ['kit_id' => request('kit')]) }}" onsubmit="return false">
+            <form action="{{ route('api.kits.accessories.store', $kitId) }}" onsubmit="return false">
                 {{ csrf_field() }}
                 <div class="alert alert-danger" id="modal_error_msg" style="display:none">
                 </div>
-                
+
                 <div class="dynamic-form-row">
                     <div class="col-md-4 col-xs-12"><label for="modal-accessory_id">{{ trans('general.accessory') }}:
                         </label></div>
diff --git a/resources/views/modals/kit-consumable.blade.php b/resources/views/modals/kit-consumable.blade.php
index 764055b6ea16bf76e08beb0e42c2afb6ef0c78e3..bdf027557bbd3c83a89c7b615ed19ece4328b6de 100644
--- a/resources/views/modals/kit-consumable.blade.php
+++ b/resources/views/modals/kit-consumable.blade.php
@@ -7,11 +7,11 @@
             <h4 class="modal-title">Append consumable{{-- TODO: trans --}}</h4>
         </div>
         <div class="modal-body">
-            <form action="{{ route('api.kits.consumables.store', ['kit_id' => request('kit')]) }}" onsubmit="return false">
+            <form action="{{ route('api.kits.consumables.store', $kitId) }}" onsubmit="return false">
                 {{ csrf_field() }}
                 <div class="alert alert-danger" id="modal_error_msg" style="display:none">
                 </div>
-                
+
                 <div class="dynamic-form-row">
                     <div class="col-md-4 col-xs-12"><label for="modal-consumable_id">{{ trans('general.consumable') }}:
                         </label></div>
diff --git a/resources/views/modals/kit-license.blade.php b/resources/views/modals/kit-license.blade.php
index 2d2295648eeb7770e051352f2e8b1489d8a25bd3..dc2d30cf9a71b08816b0420e2edfa988484ba45b 100644
--- a/resources/views/modals/kit-license.blade.php
+++ b/resources/views/modals/kit-license.blade.php
@@ -7,11 +7,11 @@
             <h4 class="modal-title">Append license{{-- TODO: trans --}}</h4>
         </div>
         <div class="modal-body">
-            <form action="{{ route('api.kits.licenses.store', ['kit_id' => request('kit')]) }}" onsubmit="return false">
+            <form action="{{ route('api.kits.licenses.store', $kitId) }}" onsubmit="return false">
                 {{ csrf_field() }}
                 <div class="alert alert-danger" id="modal_error_msg" style="display:none">
                 </div>
-                
+
                 <div class="dynamic-form-row">
                     <div class="col-md-4 col-xs-12"><label for="modal-license_id">{{ trans('general.license') }}:
                         </label></div>
diff --git a/resources/views/modals/kit-model.blade.php b/resources/views/modals/kit-model.blade.php
index 33b9cfd67c5b9ec37efbc301feffdbedeb92cb7f..d994c61a9a48afb63370b4afdda9b85ee2009a41 100644
--- a/resources/views/modals/kit-model.blade.php
+++ b/resources/views/modals/kit-model.blade.php
@@ -7,7 +7,7 @@
             <h4 class="modal-title">Append model{{-- TODO: trans --}}</h4>
         </div>
         <div class="modal-body">
-            <form action="{{ route('api.kits.models.store', ['kit_id' => request('kit')]) }}" onsubmit="return false">
+            <form action="{{ route('api.kits.models.store', $kitId) }}" onsubmit="return false">
                 {{ csrf_field() }}
                 <div class="alert alert-danger" id="modal_error_msg" style="display:none">
                 </div>
diff --git a/resources/views/partials/forms/edit/category-select.blade.php b/resources/views/partials/forms/edit/category-select.blade.php
index 10f0f8c0c76fefb16f25012c216bbcbbf79c7503..36f7d284eb608e9b1e12743ea6f6d22475d9c97a 100644
--- a/resources/views/partials/forms/edit/category-select.blade.php
+++ b/resources/views/partials/forms/edit/category-select.blade.php
@@ -18,7 +18,7 @@
     <div class="col-md-1 col-sm-1 text-left">
         @can('create', \App\Models\Category::class)
             @if ((!isset($hide_new)) || ($hide_new!='true'))
-                <a href='{{ route('modal.category',['category_type' => isset($category_type) ? $category_type : 'assets' ]) }}' data-toggle="modal"  data-target="#createModal" data-select='category_select_id' class="btn btn-sm btn-primary">New</a>
+                <a href='{{ route('modal.show',['type' => 'category', 'category_type' => isset($category_type) ? $category_type : 'assets' ]) }}' data-toggle="modal"  data-target="#createModal" data-select='category_select_id' class="btn btn-sm btn-primary">New</a>
             @endif
         @endcan
     </div>
diff --git a/resources/views/partials/forms/edit/kit-select.blade.php b/resources/views/partials/forms/edit/kit-select.blade.php
index fdbb31de8fefb34718f19dd3d100d10e37c4da5b..98941a3e80f2eacef07097ab21dc6bfb3fc02c88 100644
--- a/resources/views/partials/forms/edit/kit-select.blade.php
+++ b/resources/views/partials/forms/edit/kit-select.blade.php
@@ -17,7 +17,7 @@
     <div class="col-md-1 col-sm-1 text-left">
         @can('create', \App\Models\PredefinedKit::class)
             @if ((!isset($hide_new)) || ($hide_new!='true'))
-                {{--  <a href='{{ route('modal.kit') }}' data-toggle="modal"  data-target="#createModal" data-select='kit_id_select' class="btn btn-sm btn-default">New</a>  --}}
+                {{--  <a href='{{ route('modal.show, 'kit') }}' data-toggle="modal"  data-target="#createModal" data-select='kit_id_select' class="btn btn-sm btn-default">New</a>  --}}
             @endif
         @endcan
     </div>
diff --git a/resources/views/partials/forms/edit/location-select.blade.php b/resources/views/partials/forms/edit/location-select.blade.php
index 4fa0351dc790a95d517778e7e7c607ab51a9fe50..2c2e0045a413824c34f0f99d09e109eab6e29f77 100644
--- a/resources/views/partials/forms/edit/location-select.blade.php
+++ b/resources/views/partials/forms/edit/location-select.blade.php
@@ -17,7 +17,7 @@
     <div class="col-md-1 col-sm-1 text-left">
         @can('create', \App\Models\Location::class)
             @if ((!isset($hide_new)) || ($hide_new!='true'))
-            <a href='{{ route('modal.location') }}' data-toggle="modal"  data-target="#createModal" data-select='{{ $fieldname }}_location_select' class="btn btn-sm btn-primary">New</a>
+            <a href='{{ route('modal.show', 'location') }}' data-toggle="modal"  data-target="#createModal" data-select='{{ $fieldname }}_location_select' class="btn btn-sm btn-primary">New</a>
             @endif
         @endcan
     </div>
diff --git a/resources/views/partials/forms/edit/manufacturer-select.blade.php b/resources/views/partials/forms/edit/manufacturer-select.blade.php
index fa5a858f5bcede452daaecc11a0e2df4aa8890c5..17af4ac8dc541e43c52710b71738271a4aedfc68 100644
--- a/resources/views/partials/forms/edit/manufacturer-select.blade.php
+++ b/resources/views/partials/forms/edit/manufacturer-select.blade.php
@@ -19,7 +19,7 @@
     <div class="col-md-1 col-sm-1 text-left">
         @can('create', \App\Models\Manufacturer::class)
             @if ((!isset($hide_new)) || ($hide_new!='true'))
-                <a href='{{ route('modal.manufacturer') }}' data-toggle="modal"  data-target="#createModal" data-select='manufacturer_select_id' class="btn btn-sm btn-primary">New</a>
+                <a href='{{ route('modal.show', 'manufacturer') }}' data-toggle="modal"  data-target="#createModal" data-select='manufacturer_select_id' class="btn btn-sm btn-primary">New</a>
             @endif
         @endcan
     </div>
diff --git a/resources/views/partials/forms/edit/model-select.blade.php b/resources/views/partials/forms/edit/model-select.blade.php
index 638aabe060c247a5a75e3f70958946e2724a3699..6010cb49259c256df4faaeff5f1173d697ce75fa 100644
--- a/resources/views/partials/forms/edit/model-select.blade.php
+++ b/resources/views/partials/forms/edit/model-select.blade.php
@@ -18,7 +18,7 @@
     <div class="col-md-1 col-sm-1 text-left">
         @can('create', \App\Models\AssetModel::class)
             @if ((!isset($hide_new)) || ($hide_new!='true'))
-                <a href='{{ route('modal.model') }}' data-toggle="modal"  data-target="#createModal" data-select='model_select_id' class="btn btn-sm btn-primary">New</a>
+                <a href='{{ route('modal.show', 'model') }}' data-toggle="modal"  data-target="#createModal" data-select='model_select_id' class="btn btn-sm btn-primary">New</a>
                 <span class="mac_spinner" style="padding-left: 10px; color: green; display:none; width: 30px;">
                     <i class="fa fa-spinner fa-spin" aria-hidden="true"></i>
                 </span>
diff --git a/resources/views/partials/forms/edit/status.blade.php b/resources/views/partials/forms/edit/status.blade.php
index 4c657f5e64aa95dae17628b030336074ef866581..2800ff3e2540256b674a077cf64f83c2e47c0f66 100644
--- a/resources/views/partials/forms/edit/status.blade.php
+++ b/resources/views/partials/forms/edit/status.blade.php
@@ -8,7 +8,7 @@
     <div class="col-md-2 col-sm-2 text-left">
 
         @can('create', \App\Models\Statuslabel::class)
-            <a href='{{ route('modal.statuslabel') }}' data-toggle="modal"  data-target="#createModal" data-select='status_select_id' class="btn btn-sm btn-primary">New</a>
+            <a href='{{ route('modal.show', 'statuslabel') }}' data-toggle="modal"  data-target="#createModal" data-select='status_select_id' class="btn btn-sm btn-primary">New</a>
         @endcan
 
         <span class="status_spinner" style="padding-left: 10px; color: green; display:none; width: 30px;"><i class="fa fa-spinner fa-spin" aria-hidden="true"></i> </span>
diff --git a/resources/views/partials/forms/edit/supplier-select.blade.php b/resources/views/partials/forms/edit/supplier-select.blade.php
index 9315b8d5fdd8fc3dd37943f9676c2fbca5e22757..345153926e4f6bbc48899d56b901c2111ebfe47c 100644
--- a/resources/views/partials/forms/edit/supplier-select.blade.php
+++ b/resources/views/partials/forms/edit/supplier-select.blade.php
@@ -17,7 +17,7 @@
     <div class="col-md-1 col-sm-1 text-left">
         @can('create', \App\Models\Supplier::class)
             @if ((!isset($hide_new)) || ($hide_new!='true'))
-                <a href='{{ route('modal.supplier') }}' data-toggle="modal"  data-target="#createModal" data-select='supplier_select' class="btn btn-sm btn-primary">New</a>
+                <a href='{{ route('modal.show', 'supplier') }}' data-toggle="modal"  data-target="#createModal" data-select='supplier_select' class="btn btn-sm btn-primary">New</a>
             @endif
         @endcan
     </div>
diff --git a/resources/views/partials/forms/edit/supplier.blade.php b/resources/views/partials/forms/edit/supplier.blade.php
index 422c88707b110e7e40bfd17a4b058e092f4883b9..f49c7cc342246a69f54733eb62fab5a61aa1a77a 100644
--- a/resources/views/partials/forms/edit/supplier.blade.php
+++ b/resources/views/partials/forms/edit/supplier.blade.php
@@ -6,6 +6,6 @@
         {!! $errors->first('supplier_id', '<span class="alert-msg" aria-hidden="true"><i class="fa fa-times" aria-hidden="true"></i> :message</span>') !!}
     </div>
     <div class="col-md-1 col-sm-1 text-left">
-             <a href='{{ route('modal.supplier') }}' data-toggle="modal"  data-target="#createModal" data-dependency="supplier" data-select='supplier_select_id' class="btn btn-sm btn-primary">New</a>
+             <a href='{{ route('modal.show', 'supplier') }}' data-toggle="modal"  data-target="#createModal" data-dependency="supplier" data-select='supplier_select_id' class="btn btn-sm btn-primary">New</a>
     </div>
 </div>
diff --git a/resources/views/partials/forms/edit/user-select.blade.php b/resources/views/partials/forms/edit/user-select.blade.php
index 9d30dfd1b6218d483e9a61f356e775511cac92a1..1b98398b8d96022c837ef5fc32325ada7907dac6 100644
--- a/resources/views/partials/forms/edit/user-select.blade.php
+++ b/resources/views/partials/forms/edit/user-select.blade.php
@@ -17,7 +17,7 @@
     <div class="col-md-1 col-sm-1 text-left">
         @can('create', \App\Models\User::class)
             @if ((!isset($hide_new)) || ($hide_new!='true'))
-                <a href='{{ route('modal.user') }}' data-toggle="modal"  data-target="#createModal" data-select='assigned_user_select' class="btn btn-sm btn-primary">New</a>
+                <a href='{{ route('modal.show', 'user') }}' data-toggle="modal"  data-target="#createModal" data-select='assigned_user_select' class="btn btn-sm btn-primary">New</a>
             @endif
         @endcan
     </div>
diff --git a/routes/web.php b/routes/web.php
index 7ecc4b1fe806cb613db77babb3e076e581df466d..a9cf2162d6b14a87a21ae8f4f327ad00fb412409 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -80,17 +80,7 @@ Route::group(['middleware' => 'auth'], function () {
 */
 
 Route::group(['middleware' => 'auth','prefix' => 'modals'], function () {
-    Route::get('location',['as' => 'modal.location','uses' => 'ModalController@location']);
-    Route::get('category',['as' => 'modal.category','uses' => 'ModalController@category']);
-    Route::get('manufacturer',['as' => 'modal.manufacturer','uses' => 'ModalController@manufacturer']);
-    Route::get('model',['as' => 'modal.model','uses' => 'ModalController@model']);
-    Route::get('statuslabel',['as' => 'modal.statuslabel','uses' => 'ModalController@statuslabel']);
-    Route::get('supplier',['as' => 'modal.supplier','uses' => 'ModalController@supplier']);
-    Route::get('user',['as' => 'modal.user','uses' => 'ModalController@user']);
-    Route::get('kit-model',['as' => 'modal.kit.model','uses' => 'ModalController@kitModel']);
-    Route::get('kit-license',['as' => 'modal.kit.license','uses' => 'ModalController@kitLicense']);
-    Route::get('kit-consumable',['as' => 'modal.kit.consumable','uses' => 'ModalController@kitConsumable']);
-    Route::get('kit-accessory',['as' => 'modal.kit.accessory','uses' => 'ModalController@kitAccessory']);
+    Route::get('{type}/{itemId?}',['as' => 'modal.show', 'uses' => 'ModalController@show']);
 });
 
 /*