diff --git a/plugins/community/repos/SubmarineFree/src/SubmarineFree.cpp b/plugins/community/repos/SubmarineFree/src/SubmarineFree.cpp
index 70858953..b59a72f7 100644
--- a/plugins/community/repos/SubmarineFree/src/SubmarineFree.cpp
+++ b/plugins/community/repos/SubmarineFree/src/SubmarineFree.cpp
@@ -76,7 +76,8 @@ RACK_PLUGIN_MODEL_DECLARE(SubmarineFree, BP132);
RACK_PLUGIN_INIT(SubmarineFree) {
RACK_PLUGIN_INIT_ID();
RACK_PLUGIN_INIT_VERSION("0.6.8");
- // https://github.com/david-c14/SubmarineFree
+ RACK_PLUGIN_INIT_WEBSITE("https://github.com/david-c14/SubmarineFree");
+ RACK_PLUGIN_INIT_MANUAL("https://github.com/david-c14/SubmarineFree");
// Add all Models defined throughout the plugin
RACK_PLUGIN_MODEL_ADD(SubmarineFree, AG104);
diff --git a/plugins/community/repos/SubmarineUtility/.gitignore b/plugins/community/repos/SubmarineUtility/.gitignore
new file mode 100644
index 00000000..9367e281
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/.gitignore
@@ -0,0 +1,7 @@
+/build
+/dist
+/plugin.dylib
+/plugin.dll
+/plugin.so
+.DS_Store
+/WK_Custom.tunings
diff --git a/plugins/community/repos/SubmarineUtility/LICENSE b/plugins/community/repos/SubmarineUtility/LICENSE
new file mode 100644
index 00000000..e1d30ccb
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/LICENSE
@@ -0,0 +1,29 @@
+BSD 3-Clause License
+
+Copyright (c) 2018, David O'Rourke
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/plugins/community/repos/SubmarineUtility/Makefile b/plugins/community/repos/SubmarineUtility/Makefile
new file mode 100644
index 00000000..b9cd2c27
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/Makefile
@@ -0,0 +1,28 @@
+# Must follow the format in the Naming section of https://vcvrack.com/manual/PluginDevelopmentTutorial.html
+SLUG = SubmarineUtility
+
+# Must follow the format in the Versioning section of https://vcvrack.com/manual/PluginDevelopmentTutorial.html
+VERSION = 0.6.2
+
+# FLAGS will be passed to both the C and C++ compiler
+FLAGS +=
+CFLAGS +=
+CXXFLAGS +=
+
+# Careful about linking to shared libraries, since you can't assume much about the user's environment and library search path.
+# Static libraries are fine.
+LDFLAGS +=
+
+# Add .cpp and .c files to the build
+SOURCES += $(wildcard src/*.cpp)
+
+# Add files to the ZIP package when running `make dist`
+# The compiled plugin is automatically added.
+DISTRIBUTABLES += $(wildcard LICENSE*) res
+
+# If RACK_DIR is not defined when calling the Makefile, default to two levels above
+RACK_DIR ?= ../..
+
+# Include the VCV Rack plugin Makefile framework
+include $(RACK_DIR)/plugin.mk
+
diff --git a/plugins/community/repos/SubmarineUtility/README.md b/plugins/community/repos/SubmarineUtility/README.md
new file mode 100644
index 00000000..0c13b594
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/README.md
@@ -0,0 +1,19 @@
+# SubmarineUtility
+Utility Modules for VCVRack
+
+Important note:
+
+These modules rely on knowledge of VCVRack which goes beyond the published API. The ongoing stability of the code is therefore not guaranteed. At least some of the features of these modules rely on code which is expected to change in future versions of VCVRack, and many other parts are likely to change.
+
+Whilst I intend to try to keep these modules up to date with changes, I can make no guarantees that this will even be possible.
+
+**Module Browser will definitely need to be somewhat rewritten for VCVRack v1.0. It is my intention to do so as soon as possible.**
+
+However, these modules are not designed or intended to form any part of your patch behaviour. They are intended purely as workflow tools. If these modules become incompatible with VCVRack in the future, it should be possible to remove them from the patch without affecting the aural content of the patch.
+
+## [Manual](https://github.com/david-c14/SubmarineUtility/blob/master/manual/index.md)
+
+## Licence
+
+This code is licensed under BSD 3-clause and is mostly copyright © 2018 carbon14 (David O'Rourke) 2018
+Some parts of this code are inevitably based directly on code by Andrew Belt within VCVRack itself; Copyright © 2016 Andrew Belt.
diff --git a/plugins/community/repos/SubmarineUtility/make.objects b/plugins/community/repos/SubmarineUtility/make.objects
new file mode 100644
index 00000000..1aba5624
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/make.objects
@@ -0,0 +1,5 @@
+ALL_OBJ= \
+ src/ModBrowser.o \
+ src/SubControls.o \
+ src/SubmarineUtility.o \
+ src/WireManager.o
diff --git a/plugins/community/repos/SubmarineUtility/makefile.linux b/plugins/community/repos/SubmarineUtility/makefile.linux
new file mode 100644
index 00000000..be4d06a8
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/makefile.linux
@@ -0,0 +1,7 @@
+SLUG=SubmarineUtility
+
+include ../../../build_plugin_pre_linux.mk
+
+include make.objects
+
+include ../../../build_plugin_post_linux.mk
diff --git a/plugins/community/repos/SubmarineUtility/makefile.msvc b/plugins/community/repos/SubmarineUtility/makefile.msvc
new file mode 100644
index 00000000..1bc99449
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/makefile.msvc
@@ -0,0 +1,7 @@
+SLUG=SubmarineUtility
+
+include ../../../build_plugin_pre_msvc.mk
+
+include make.objects
+
+include ../../../build_plugin_post_msvc.mk
diff --git a/plugins/community/repos/SubmarineUtility/manual/index.md b/plugins/community/repos/SubmarineUtility/manual/index.md
new file mode 100644
index 00000000..14daced6
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/manual/index.md
@@ -0,0 +1,14 @@
+# Submarine Utilities
+
+Important note:
+
+These modules rely on knowledge of VCVRack which goes beyond the published API. The ongoing stability of the code is therefore not guaranteed. At least some of the features of these modules rely on code which is expected to change in future versions of VCVRack, and many other parts are likely to change.
+
+Whilst I intend to try to keep these modules up to date with changes, I can make no guarantees that this will even be possible.
+
+**Module Browser will definitely need to be somewhat rewritten for VCVRack v1.0. It is my intention to do so as soon as possible.**
+
+However, these modules are not designed or intended to form any part of your patch behaviour. They are intended purely as workflow tools. If these modules become incompatible with VCVRack in the future, it should be possible to remove them from the patch without affecting the aural content of the patch.
+
+## [Module Browser](modbrowser.md)
+## [Wire Manager](wiremanager.md)
diff --git a/plugins/community/repos/SubmarineUtility/manual/modbrowser.md b/plugins/community/repos/SubmarineUtility/manual/modbrowser.md
new file mode 100644
index 00000000..7e0a7076
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/manual/modbrowser.md
@@ -0,0 +1,71 @@
+# Module Browser
+
+The module browser offers an alternative to the built in module browser within VCVRack. It has some weaknesses compared to the built-in browser
+but at the same time offers some distinct advantages. Both browsers can be used at the same time.
+
+## Creating Modules
+
+The first three icons allow you to browse for modules by Author, Tag or from the list of Favorites. Use the icon to select the list you require.
+
+###  Authors.
+
+Select an author to be shown a list of the modules available from that author. To go back either select the Authors icon again, or select
+the 'Back' option at the top of the list.
+
+Clicking on a module will cause that module to be added to your patch. The module will be added into empty space as close as possible to the
+module browser.
+
+Alternatively you can drag a module from the module browser to anywhere on your patch. The module will be added into empty space as close as possible
+to where you tried to drop it.
+
+###  Tags
+
+Select a tag to be shown a list of the modules which offer that functionality. To go back either select the Tags icon again, or select
+the 'Back' option at the top of the list.
+
+Clicking on a module will cause that module to be added to your patch. The module will be added into empty space as close as possible to the
+module browser.
+
+Alternatively you can drag a module from the module browser to anywhere on your patch. The module will be added into empty space as close as possible
+to where you tried to drop it.
+
+###  Favorites
+
+The favorites list is loaded from your settings file. As a result it is normally only updated when you quit VCVRack. Favorites changed during a patching session will not show up in the module browser until the next time that you start VCVRack.
+
+Clicking on a module will cause that module to be added to your patch. The module will be added into empty space as close as possible to the
+module browser.
+
+Alternatively you can drag a module from the module browser to anywhere on your patch. The module will be added into empty space as close as possible
+to where you tried to drop it.
+
+##  Loading Patches
+
+The Disk icon will open up a dialog box allowing you to select either a patch or a preset file.
+
+### Patch Files
+
+Loading a patch file will cause all the modules in the patch to be imported into your current patch. Everything already in your patch will remain.
+
+The loaded modules will be grouped together in their original arrangement, but placed into your patch somewhere where there is sufficient space for the whole arrangement. All the settings and wiring from your patch will be set-up also. This is an ideal tool for
+building a library of signal chains that you pick and choose from to construct more complex patches.
+
+### Preset Files
+
+Loading a preset file will add a new module from into your patch. It will also be configured with the settings of the preset. This can be quicker than manually adding the module and then opening the preset from within the module to configure it.
+
+## Sizing
+
+###  Minimize
+
+The Minimize icon will shrink the size of the module browser down to 1-HP. All the modules in the patch to the right of the module browser will be move to the left to take up the space.
+
+When the module browser is minimized, a Restore button is visible in the centre of the module. Selecting this will restore the module to its previous size. All modules to the right of the module browser will be moved to the right to make space.
+
+In this way you can keep the module browser in your patch for ready access, without taking up more space than is necessary.
+
+When the module browser is in its open state, a drag handle at the right-hand edge can be used to make the module wider or narrower.
+
+### Zooming
+
+The scrolling list in the module browser is designed to remain readable. If you zoom in, the items in the list will increase in size as you might expect, but if you zoom out to less than 100% the items in the list will remain the same size on the screen to ensure that they remain visible.
diff --git a/plugins/community/repos/SubmarineUtility/manual/wiremanager.md b/plugins/community/repos/SubmarineUtility/manual/wiremanager.md
new file mode 100644
index 00000000..7b409353
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/manual/wiremanager.md
@@ -0,0 +1,83 @@
+# Wire Manager
+
+The wire manager offers the ability to choose more colors for the patch cables that you use in your patches. It also has highlighting options
+which some users may find useful in tracing wires around the patch.
+
+##  Colors
+
+The colors page of the wire manager offers a list of different colored wires. To the left of each wire is a checkbox. When you make a new connection
+in VCVRack, a color for that wire is chosen from the list of wires that are checked. The list is cycled, so if you select only Red, Yellow and Green
+wires in the wire manager, the first wire you add to your patch will be Red, the next Yellow, the third Green and then back to Red.
+
+If you wish to connect all of the right channel of a stereo signal in Red, you might choose to select only the Red wire in the wire manager, and
+then to wire up the entire right channel signal chain. Then change to a Dark Grey wire to wire the left hand signal chain.
+
+Or perhaps you just want all of the wires to be pink to celebrate Valentine's Day.
+
+The top-most checkbox in the list allows you to select / deselect all the colors.
+
+At the top of the list on the right hand side is a plus icon. This will take you to the editing page to create a new wire color which will
+be placed an the bottom of the list when you save it.
+
+To the right of each color are some more icons. These allow you to move your colored wires up or down the list to choose the order of them, and
+the three dots icon takes you to an editing page where you can change the color of the wire. This editing page also has the option to
+delete the wire.
+
+### Editing
+
+On the editing page there are save and cancel buttons, and a delete button (which will offer you a further chance to change your mind).
+
+There are three sliders here to adjust the color of the wire. Although they are not deliberately not labelled, the sliders control the Red, Green and Blue
+parts of the color. Each slider has a gradient background accurately showing the colors that will result from moving that slider.
+
+Right-clicking on any slider will return it to it's unedited position.
+
+##  Settings.
+
+The settings page currently has two functions.
+
+### Variation
+
+When the variation option is enabled, the color chosen for your wire is randomly varied. You might wish to use all green wires for a patch,
+but if this option is enabled, you can have lots of slightly different green wires, emulating a collection of patch cables acquired over a
+long and happy period of modular experimentation.
+
+The three sliders allow you to fine tune the type of variation introduced.
+
+H: is the hue or actual color of the wire
+
+L: is the lightness of the wire, from a deep dark red, to a light pale pink for example
+
+S: is the saturation of the wire, how deep the color is. Wires with a low saturation will appear more gray.
+
+### Highlighting
+
+When the highlighting option is selected, an additional transparency is added to the wires in the patch. When you hover over a
+module in the patch, only those wires connected to that module will be shown with normal opacity. This may help you to trace pathways
+in complex patches. You can quickly point to a module and see where each wire goes.
+
+There are two highlighting options, they differ in what happens when you are not pointing at a module, when you are pointing at empty space in the
+rack. *Always On* will still fade all the wires when you are not hovering over any module; *When Hovering* will only fade wires away when you
+are pointing at something.
+
+## Sizing
+
+###  Minimize
+
+The Minimize icon will shrink the size of the module browser down to 1-HP. All the modules in the patch to the right of the module browser will be move to the left to take up the space.
+
+When the module browser is minimized, a Restore button is visible in the centre of the module. Selecting this will restore the module to its previous size. All modules to the right of the module browser will be moved to the right to make space.
+
+In this way you can keep the module browser in your patch for ready access, without taking up more space than is necessary.
+
+## Saving.
+
+Once the wires have been connected in your patch, you do not need to keep the wire manager around. You can minimize it to save space, but if
+you remove it from the patch completely, the wires will still retain their colors. Highlighting will not function without the wire
+manager in the patch.
+
+The settings that you make are global. They are not saved along with the patch, so your favorite collection of colored wires is available in
+every patch that you add wire manager to.
+
+Do not add more than one wire manager to your patch. It will do no harm, but only one of them will be actually selecting the colors and the
+other will be wasting CPU.
diff --git a/plugins/community/repos/SubmarineUtility/res/Sub1.svg b/plugins/community/repos/SubmarineUtility/res/Sub1.svg
new file mode 100644
index 00000000..35fc8a9f
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/Sub1.svg
@@ -0,0 +1,17 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/Sub2.svg b/plugins/community/repos/SubmarineUtility/res/Sub2.svg
new file mode 100644
index 00000000..33cfdcfb
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/Sub2.svg
@@ -0,0 +1,15 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/colors.svg b/plugins/community/repos/SubmarineUtility/res/colors.svg
new file mode 100644
index 00000000..42ee2749
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/colors.svg
@@ -0,0 +1,28 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/favorite.svg b/plugins/community/repos/SubmarineUtility/res/favorite.svg
new file mode 100644
index 00000000..c9309dd2
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/favorite.svg
@@ -0,0 +1,44 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/hls.svg b/plugins/community/repos/SubmarineUtility/res/hls.svg
new file mode 100644
index 00000000..7dfcd9d9
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/hls.svg
@@ -0,0 +1,35 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/load.svg b/plugins/community/repos/SubmarineUtility/res/load.svg
new file mode 100644
index 00000000..081a8916
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/load.svg
@@ -0,0 +1,39 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/min.svg b/plugins/community/repos/SubmarineUtility/res/min.svg
new file mode 100644
index 00000000..83613973
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/min.svg
@@ -0,0 +1,33 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/plugin.svg b/plugins/community/repos/SubmarineUtility/res/plugin.svg
new file mode 100644
index 00000000..50d91743
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/plugin.svg
@@ -0,0 +1,35 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/res/tag.svg b/plugins/community/repos/SubmarineUtility/res/tag.svg
new file mode 100644
index 00000000..8ae55193
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/res/tag.svg
@@ -0,0 +1,34 @@
+
+
diff --git a/plugins/community/repos/SubmarineUtility/src/ModBrowser.cpp b/plugins/community/repos/SubmarineUtility/src/ModBrowser.cpp
new file mode 100644
index 00000000..4e03ed6a
--- /dev/null
+++ b/plugins/community/repos/SubmarineUtility/src/ModBrowser.cpp
@@ -0,0 +1,721 @@
+#include "SubControls.hpp"
+#include