diff --git a/src/MATLAB/+HIP/@Cuda/CheckConfig.m b/src/MATLAB/+HIP/@Cuda/CheckConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..8356f79ae9a59a39ba5f964ccb2762f4fe965b2f
--- /dev/null
+++ b/src/MATLAB/+HIP/@Cuda/CheckConfig.m
@@ -0,0 +1,7 @@
+% CheckConfig - Get Hydra library configuration information.
+%    [hydraConfig] = HIP.Cuda.CheckConfig()
+%    Returns hydraConfig structure with configuration information.
+%    
+function [hydraConfig] = CheckConfig()
+    [hydraConfig] = HIP.Cuda.HIP('CheckConfig');
+end
diff --git a/src/MATLAB/+HIP/@Cuda/Closure.m b/src/MATLAB/+HIP/@Cuda/Closure.m
index 7c40dbb3824ccf17d1cfd84705c550373b39903d..1f68ce99756f1128fff806ff568e4e96b89fe0eb 100644
--- a/src/MATLAB/+HIP/@Cuda/Closure.m
+++ b/src/MATLAB/+HIP/@Cuda/Closure.m
@@ -18,5 +18,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function [imageOut] = Closure(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('Closure',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('Closure',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/Cuda.m b/src/MATLAB/+HIP/@Cuda/Cuda.m
index b9b4bf95cb4edeb206f83c0a7284d4c966fae8a3..ff4d59c9de72000f4fc366298d5e9995314b233d 100644
--- a/src/MATLAB/+HIP/@Cuda/Cuda.m
+++ b/src/MATLAB/+HIP/@Cuda/Cuda.m
@@ -1,30 +1,31 @@
 classdef (Abstract,Sealed) Cuda
 methods (Static)
+    [imageOut] = Closure(imageIn,kernel,numIterations,device)
+    [imageOut] = HighPassFilter(imageIn,sigmas,device)
+    [numCudaDevices,memStats] = DeviceCount()
     Help(command)
+    [hydraConfig] = CheckConfig()
+    [imageOut] = IdentityFilter(imageIn,device)
     [cmdInfo] = Info()
-    [numCudaDevices,memStats] = DeviceCount()
+    [imageOut] = Gaussian(imageIn,sigmas,numIterations,device)
+    [imageOut] = MeanFilter(imageIn,kernel,numIterations,device)
     [deviceStatsArray] = DeviceStats()
     [imageOut] = ElementWiseDifference(image1In,image2In,device)
+    [imageOut] = MultiplySum(imageIn,kernel,numIterations,device)
     [imageOut] = EntropyFilter(imageIn,kernel,device)
-    [imageOut] = HighPassFilter(imageIn,sigmas,device)
-    [imageOut] = Gaussian(imageIn,sigmas,numIterations,device)
-    [imageOut] = Closure(imageIn,kernel,numIterations,device)
+    [imageOut] = StdFilter(imageIn,kernel,numIterations,device)
     [minVal,maxVal] = GetMinMax(imageIn,device)
-    [imageOut] = WienerFilter(imageIn,kernel,noiseVariance,device)
-    [imageOut] = Opener(imageIn,kernel,numIterations,device)
-    [imageOut] = IdentityFilter(imageIn,device)
-    [imageOut] = MultiplySum(imageIn,kernel,numIterations,device)
     [imageOut] = LoG(imageIn,sigmas,device)
-    [imageOut] = StdFilter(imageIn,kernel,numIterations,device)
-    [imageOut] = MeanFilter(imageIn,kernel,numIterations,device)
     [imageOut] = MedianFilter(imageIn,kernel,numIterations,device)
     [imageOut] = MinFilter(imageIn,kernel,numIterations,device)
     [imageOut] = MaxFilter(imageIn,kernel,numIterations,device)
     [imageOut] = NLMeans(imageIn,h,searchWindowRadius,nhoodRadius,device)
+    [imageOut] = Opener(imageIn,kernel,numIterations,device)
     [imageOut] = Sum(imageIn,device)
     [imageOut] = VarFilter(imageIn,kernel,numIterations,device)
+    [imageOut] = WienerFilter(imageIn,kernel,noiseVariance,device)
 end
 methods (Static, Access = private)
-    varargout = Mex(command, varargin)
+    varargout = HIP(command, varargin)
 end
 end
diff --git a/src/MATLAB/+HIP/@Cuda/DeviceCount.m b/src/MATLAB/+HIP/@Cuda/DeviceCount.m
index 26b0ace7837047c34f5481e9c96df3bd3bce3234..7ffa63b6bafdbd3662ad22c010a84f84d57e7324 100644
--- a/src/MATLAB/+HIP/@Cuda/DeviceCount.m
+++ b/src/MATLAB/+HIP/@Cuda/DeviceCount.m
@@ -5,5 +5,5 @@
 %    		The memory structure contains the total memory on the device and the memory available for a Cuda call.
 %    
 function [numCudaDevices,memStats] = DeviceCount()
-    [numCudaDevices,memStats] = HIP.Cuda.Mex('DeviceCount');
+    [numCudaDevices,memStats] = HIP.Cuda.HIP('DeviceCount');
 end
diff --git a/src/MATLAB/+HIP/@Cuda/DeviceStats.m b/src/MATLAB/+HIP/@Cuda/DeviceStats.m
index 62710ca62b0f4e3eb1bf15a57c1fe3bddcd63165..7f622f9f6493927f02c0f2f6382400e7d907becf 100644
--- a/src/MATLAB/+HIP/@Cuda/DeviceStats.m
+++ b/src/MATLAB/+HIP/@Cuda/DeviceStats.m
@@ -3,5 +3,5 @@
 %    	DeviceStatsArray -- this is an array of structs, one struct per device.
 %    		The struct has these fields: name, major, minor, constMem, sharedMem, totalMem, tccDriver, mpCount, threadsPerMP, warpSize, maxThreads.
 function [deviceStatsArray] = DeviceStats()
-    [deviceStatsArray] = HIP.Cuda.Mex('DeviceStats');
+    [deviceStatsArray] = HIP.Cuda.HIP('DeviceStats');
 end
diff --git a/src/MATLAB/+HIP/@Cuda/ElementWiseDifference.m b/src/MATLAB/+HIP/@Cuda/ElementWiseDifference.m
index 52bbcb81d84254a7ef20ae488aa147583fe522f2..6877c9a3641262830ba5586c400d63ae3c1aec76 100644
--- a/src/MATLAB/+HIP/@Cuda/ElementWiseDifference.m
+++ b/src/MATLAB/+HIP/@Cuda/ElementWiseDifference.m
@@ -14,5 +14,5 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 function [imageOut] = ElementWiseDifference(image1In,image2In,device)
-    [imageOut] = HIP.Cuda.Mex('ElementWiseDifference',image1In,image2In,device);
+    [imageOut] = HIP.Cuda.HIP('ElementWiseDifference',image1In,image2In,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/EntropyFilter.m b/src/MATLAB/+HIP/@Cuda/EntropyFilter.m
index e3d31ecb37f89b2132655ad11a8569557a93ab88..3420460a0741ac787c1bfe4a1549b4186f0510dc 100644
--- a/src/MATLAB/+HIP/@Cuda/EntropyFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/EntropyFilter.m
@@ -15,5 +15,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = EntropyFilter(imageIn,kernel,device)
-    [imageOut] = HIP.Cuda.Mex('EntropyFilter',imageIn,kernel,device);
+    [imageOut] = HIP.Cuda.HIP('EntropyFilter',imageIn,kernel,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/Gaussian.m b/src/MATLAB/+HIP/@Cuda/Gaussian.m
index 92e6fa345fc973e5270531a41ae4c515f638e656..eac8a0097dad7858cdd783d582f9a672179712f4 100644
--- a/src/MATLAB/+HIP/@Cuda/Gaussian.m
+++ b/src/MATLAB/+HIP/@Cuda/Gaussian.m
@@ -18,5 +18,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = Gaussian(imageIn,sigmas,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('Gaussian',imageIn,sigmas,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('Gaussian',imageIn,sigmas,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/GetMinMax.m b/src/MATLAB/+HIP/@Cuda/GetMinMax.m
index b06dd63e9335b523b9de610e630c0496feb844c6..e30a96af0baa111bc1a61a19844d3e87da4e4034 100644
--- a/src/MATLAB/+HIP/@Cuda/GetMinMax.m
+++ b/src/MATLAB/+HIP/@Cuda/GetMinMax.m
@@ -10,5 +10,5 @@
 %    	maxValue = This is the highest value found in the array.
 %    
 function [minVal,maxVal] = GetMinMax(imageIn,device)
-    [minVal,maxVal] = HIP.Cuda.Mex('GetMinMax',imageIn,device);
+    [minVal,maxVal] = HIP.Cuda.HIP('GetMinMax',imageIn,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/HIP.mexa64 b/src/MATLAB/+HIP/@Cuda/HIP.mexa64
new file mode 100644
index 0000000000000000000000000000000000000000..065ff0b4289badb9dae450530ac9f40a45240c76
--- /dev/null
+++ b/src/MATLAB/+HIP/@Cuda/HIP.mexa64
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8837d61162969a50b76928fe415820f0f7949b69db887e802533895bbf01b2c7
+size 17397192
diff --git a/src/MATLAB/+HIP/@Cuda/HIP.mexw64 b/src/MATLAB/+HIP/@Cuda/HIP.mexw64
new file mode 100644
index 0000000000000000000000000000000000000000..ee3c220e860b3ed80ac500ba85acde1952db890b
--- /dev/null
+++ b/src/MATLAB/+HIP/@Cuda/HIP.mexw64
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a9e9e13bd2517330614c8e54f686cfd20c98bb0ac1e917980a78963a30be19ab
+size 11271168
diff --git a/src/MATLAB/+HIP/@Cuda/Help.m b/src/MATLAB/+HIP/@Cuda/Help.m
index 2daacbdbdf7078392a015621393baa66c35b8ad1..c1461c4d90052dc0eda336189b903004a741d901 100644
--- a/src/MATLAB/+HIP/@Cuda/Help.m
+++ b/src/MATLAB/+HIP/@Cuda/Help.m
@@ -1,5 +1,5 @@
 % Help - Print detailed usage information for the specified command.
 %    HIP.Cuda.Help([command])
 function Help(command)
-    HIP.Cuda.Mex('Help',command);
+    HIP.Cuda.HIP('Help',command);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/HighPassFilter.m b/src/MATLAB/+HIP/@Cuda/HighPassFilter.m
index e795bae55cf5da9c69650d235e6969ada24e9665..c915ea030af53cde799f610490dd22ae8266f6a6 100644
--- a/src/MATLAB/+HIP/@Cuda/HighPassFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/HighPassFilter.m
@@ -14,5 +14,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = HighPassFilter(imageIn,sigmas,device)
-    [imageOut] = HIP.Cuda.Mex('HighPassFilter',imageIn,sigmas,device);
+    [imageOut] = HIP.Cuda.HIP('HighPassFilter',imageIn,sigmas,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/IdentityFilter.m b/src/MATLAB/+HIP/@Cuda/IdentityFilter.m
index 79955722436954c0a0f445429df263dc5be9c858..544a6a1f0a1ecf16d14e87507e2f444d0821e6a7 100644
--- a/src/MATLAB/+HIP/@Cuda/IdentityFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/IdentityFilter.m
@@ -11,5 +11,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = IdentityFilter(imageIn,device)
-    [imageOut] = HIP.Cuda.Mex('IdentityFilter',imageIn,device);
+    [imageOut] = HIP.Cuda.HIP('IdentityFilter',imageIn,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/Info.m b/src/MATLAB/+HIP/@Cuda/Info.m
index a59edcf51c2f1e0a19c44679bb331fbe3b46d1b2..ac892f31bdbe918e2c0aa7ac563e680067e25017 100644
--- a/src/MATLAB/+HIP/@Cuda/Info.m
+++ b/src/MATLAB/+HIP/@Cuda/Info.m
@@ -7,5 +7,5 @@
 %       commandInfo.helpLines - Help string
 %    
 function [cmdInfo] = Info()
-    [cmdInfo] = HIP.Cuda.Mex('Info');
+    [cmdInfo] = HIP.Cuda.HIP('Info');
 end
diff --git a/src/MATLAB/+HIP/@Cuda/LoG.m b/src/MATLAB/+HIP/@Cuda/LoG.m
index e0dff78fc6ad990db400b2dd06ae3af6657914f3..287a70d700274ad16d10751d4409a3875d39055d 100644
--- a/src/MATLAB/+HIP/@Cuda/LoG.m
+++ b/src/MATLAB/+HIP/@Cuda/LoG.m
@@ -14,5 +14,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = LoG(imageIn,sigmas,device)
-    [imageOut] = HIP.Cuda.Mex('LoG',imageIn,sigmas,device);
+    [imageOut] = HIP.Cuda.HIP('LoG',imageIn,sigmas,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/MaxFilter.m b/src/MATLAB/+HIP/@Cuda/MaxFilter.m
index 077a6c3b65c89d96d2ec5a39842af7edf7290373..1665d4fa11d439c3a349563a3e44615c109d7acb 100644
--- a/src/MATLAB/+HIP/@Cuda/MaxFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MaxFilter.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = MaxFilter(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('MaxFilter',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('MaxFilter',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/MeanFilter.m b/src/MATLAB/+HIP/@Cuda/MeanFilter.m
index a3a00ee58aaa4d71cb038d869aabcb33cdbea5bb..2b4fa064362c22eb789abefd7c8bc901c4355b2e 100644
--- a/src/MATLAB/+HIP/@Cuda/MeanFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MeanFilter.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = MeanFilter(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('MeanFilter',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('MeanFilter',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/MedianFilter.m b/src/MATLAB/+HIP/@Cuda/MedianFilter.m
index e7436d1762d93f4d95be8cf0598baa5facf536ee..f660dfa93996c312a266e3b1c47793c6b158e026 100644
--- a/src/MATLAB/+HIP/@Cuda/MedianFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MedianFilter.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = MedianFilter(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('MedianFilter',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('MedianFilter',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/Mex.mexa64 b/src/MATLAB/+HIP/@Cuda/Mex.mexa64
deleted file mode 100644
index a9c42807f7b371501db00f93876a3a330e22ba96..0000000000000000000000000000000000000000
--- a/src/MATLAB/+HIP/@Cuda/Mex.mexa64
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7de219e7540ceb5070ae836fb719809422045588d5eaf4a9572fcecebf45519e
-size 21963056
diff --git a/src/MATLAB/+HIP/@Cuda/Mex.mexw64 b/src/MATLAB/+HIP/@Cuda/Mex.mexw64
deleted file mode 100644
index 0da92628d02872f5c7346ac84f9762f04c53fe1c..0000000000000000000000000000000000000000
--- a/src/MATLAB/+HIP/@Cuda/Mex.mexw64
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:89683039cc6bc06b1331d58dd4b49bf5998a6989c1ba638c746587adccde5aa1
-size 11917312
diff --git a/src/MATLAB/+HIP/@Cuda/MinFilter.m b/src/MATLAB/+HIP/@Cuda/MinFilter.m
index 5f35fb68b1f2313166ea57baf13672de29defc0a..83a6713e69deabbc0a622334d0119b0d1f5146f8 100644
--- a/src/MATLAB/+HIP/@Cuda/MinFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/MinFilter.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = MinFilter(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('MinFilter',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('MinFilter',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/MultiplySum.m b/src/MATLAB/+HIP/@Cuda/MultiplySum.m
index 2d0bc1d07e06ef99ad5516deed8b40d1fcb9f59b..7cbef03a4fefaf41d4b6bf5b9e1da66434432ab6 100644
--- a/src/MATLAB/+HIP/@Cuda/MultiplySum.m
+++ b/src/MATLAB/+HIP/@Cuda/MultiplySum.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = MultiplySum(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('MultiplySum',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('MultiplySum',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/NLMeans.m b/src/MATLAB/+HIP/@Cuda/NLMeans.m
index f89d7f92b3a938d7e9c10eb039f38be73f2e69f5..9cc700fec6786dcc1187d6634e8c01616fbd32d0 100644
--- a/src/MATLAB/+HIP/@Cuda/NLMeans.m
+++ b/src/MATLAB/+HIP/@Cuda/NLMeans.m
@@ -11,5 +11,5 @@
 %    	nhoodRadius = radius of patch size (comparison window).
 %    
 function [imageOut] = NLMeans(imageIn,h,searchWindowRadius,nhoodRadius,device)
-    [imageOut] = HIP.Cuda.Mex('NLMeans',imageIn,h,searchWindowRadius,nhoodRadius,device);
+    [imageOut] = HIP.Cuda.HIP('NLMeans',imageIn,h,searchWindowRadius,nhoodRadius,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/Opener.m b/src/MATLAB/+HIP/@Cuda/Opener.m
index b4baee782100e4dc2f555f8c2a3d821c16659dd3..d04e65918833fe6ff950106f2a877142a61c22ee 100644
--- a/src/MATLAB/+HIP/@Cuda/Opener.m
+++ b/src/MATLAB/+HIP/@Cuda/Opener.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = Opener(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('Opener',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('Opener',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/StdFilter.m b/src/MATLAB/+HIP/@Cuda/StdFilter.m
index 27f358a1716f6529a13ea97b5bb9640d352f8afb..97da880776f9a27614e774bc8f466c6601e3e7bf 100644
--- a/src/MATLAB/+HIP/@Cuda/StdFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/StdFilter.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = StdFilter(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('StdFilter',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('StdFilter',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/Sum.m b/src/MATLAB/+HIP/@Cuda/Sum.m
index 12a272ce26e37b5f747a6c56c47fa34eea7b14ca..fdd69007115474a6b49c1874a4a6214a082ec59f 100644
--- a/src/MATLAB/+HIP/@Cuda/Sum.m
+++ b/src/MATLAB/+HIP/@Cuda/Sum.m
@@ -11,5 +11,5 @@
 %    	valueOut = This is the summation of the entire array.
 %    
 function [imageOut] = Sum(imageIn,device)
-    [imageOut] = HIP.Cuda.Mex('Sum',imageIn,device);
+    [imageOut] = HIP.Cuda.HIP('Sum',imageIn,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/VarFilter.m b/src/MATLAB/+HIP/@Cuda/VarFilter.m
index 638197b0a6fe8691ba8866cee8bd954cfab89921..2aeea76d07f0ec79815c4b19721cd0784dbdb87c 100644
--- a/src/MATLAB/+HIP/@Cuda/VarFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/VarFilter.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = VarFilter(imageIn,kernel,numIterations,device)
-    [imageOut] = HIP.Cuda.Mex('VarFilter',imageIn,kernel,numIterations,device);
+    [imageOut] = HIP.Cuda.HIP('VarFilter',imageIn,kernel,numIterations,device);
 end
diff --git a/src/MATLAB/+HIP/@Cuda/WienerFilter.m b/src/MATLAB/+HIP/@Cuda/WienerFilter.m
index 1a43af9630e9065cbc06a99c368f3a7b2f6ea4f6..b3f2a75ab94506cf6b73e3df49b825f74ae3e088 100644
--- a/src/MATLAB/+HIP/@Cuda/WienerFilter.m
+++ b/src/MATLAB/+HIP/@Cuda/WienerFilter.m
@@ -19,5 +19,5 @@
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
 function [imageOut] = WienerFilter(imageIn,kernel,noiseVariance,device)
-    [imageOut] = HIP.Cuda.Mex('WienerFilter',imageIn,kernel,noiseVariance,device);
+    [imageOut] = HIP.Cuda.HIP('WienerFilter',imageIn,kernel,noiseVariance,device);
 end
diff --git a/src/MATLAB/+HIP/CheckConfig.m b/src/MATLAB/+HIP/CheckConfig.m
new file mode 100644
index 0000000000000000000000000000000000000000..ffa6c881a0abd5fb60ebdc582eccd59442a0c0a8
--- /dev/null
+++ b/src/MATLAB/+HIP/CheckConfig.m
@@ -0,0 +1,12 @@
+% CheckConfig - Get Hydra library configuration information.
+%    [hydraConfig] = HIP.CheckConfig()
+%    Returns hydraConfig structure with configuration information.
+%    
+function [hydraConfig] = CheckConfig()
+    try
+        [hydraConfig] = HIP.Cuda.CheckConfig();
+    catch errMsg
+        warning(errMsg.message);
+        [hydraConfig] = HIP.Local.CheckConfig();
+    end
+end
diff --git a/src/MATLAB/+HIP/Closure.m b/src/MATLAB/+HIP/Closure.m
index 9e1121b75521e8c2d7cfb24391b45898486e12df..30241d04ddd7f8c165b20fb5d9700447e56826fe 100644
--- a/src/MATLAB/+HIP/Closure.m
+++ b/src/MATLAB/+HIP/Closure.m
@@ -17,7 +17,6 @@
 %    		the data across multiple devices.
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
-
 function [imageOut] = Closure(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.Closure(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/ElementWiseDifference.m b/src/MATLAB/+HIP/ElementWiseDifference.m
index b09b6696d94a90f7dd4673a7d05e769cd32b6d07..e9fc66b0bd6bd1d38692761938a1d3f896ba79a9 100644
--- a/src/MATLAB/+HIP/ElementWiseDifference.m
+++ b/src/MATLAB/+HIP/ElementWiseDifference.m
@@ -13,7 +13,6 @@
 %    		the data across multiple devices.
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
-
 function [imageOut] = ElementWiseDifference(image1In,image2In,device)
     try
         [imageOut] = HIP.Cuda.ElementWiseDifference(image1In,image2In,device);
diff --git a/src/MATLAB/+HIP/EntropyFilter.m b/src/MATLAB/+HIP/EntropyFilter.m
index 22834ce8008a1ade113dcc92f23d709e61ae2deb..f3a7ec4aaefd9e2b62e61d7077a34fc99b1fc659 100644
--- a/src/MATLAB/+HIP/EntropyFilter.m
+++ b/src/MATLAB/+HIP/EntropyFilter.m
@@ -14,7 +14,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = EntropyFilter(imageIn,kernel,device)
     try
         [imageOut] = HIP.Cuda.EntropyFilter(imageIn,kernel,device);
diff --git a/src/MATLAB/+HIP/Gaussian.m b/src/MATLAB/+HIP/Gaussian.m
index 9bfc841a6c92c88af1ca469bb66726e849e61a03..86dcd9e8840fa21c604c01ba1acd127006ab9ba3 100644
--- a/src/MATLAB/+HIP/Gaussian.m
+++ b/src/MATLAB/+HIP/Gaussian.m
@@ -17,7 +17,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = Gaussian(imageIn,sigmas,numIterations,device)
     try
         [imageOut] = HIP.Cuda.Gaussian(imageIn,sigmas,numIterations,device);
diff --git a/src/MATLAB/+HIP/GetMinMax.m b/src/MATLAB/+HIP/GetMinMax.m
index 3aa37bd53626af32c16b0d9ce3792d98677f35ad..414a3374c11b66343469301053e2df7e2bdbc87a 100644
--- a/src/MATLAB/+HIP/GetMinMax.m
+++ b/src/MATLAB/+HIP/GetMinMax.m
@@ -9,7 +9,6 @@
 %    	minValue = This is the lowest value found in the array.
 %    	maxValue = This is the highest value found in the array.
 %    
-
 function [minVal,maxVal] = GetMinMax(imageIn,device)
     try
         [minVal,maxVal] = HIP.Cuda.GetMinMax(imageIn,device);
diff --git a/src/MATLAB/+HIP/Help.m b/src/MATLAB/+HIP/Help.m
index cf717d33694ffeab3a41e4e67a293153bc30a7ac..8c8532d99ae4b005a71a29c07128d57c4e52fbfe 100644
--- a/src/MATLAB/+HIP/Help.m
+++ b/src/MATLAB/+HIP/Help.m
@@ -1,4 +1,5 @@
 % Help - Print detailed usage information for the specified command.
 %    HIP.Help([command])
 function Help(command)
+    HIP.Cuda.HIP('Help',command);
 end
diff --git a/src/MATLAB/+HIP/HighPassFilter.m b/src/MATLAB/+HIP/HighPassFilter.m
index a90189ed02d51f8b40e6930f2c99595dad825465..49b1cb3938255db5d72c34817a119450ab04433f 100644
--- a/src/MATLAB/+HIP/HighPassFilter.m
+++ b/src/MATLAB/+HIP/HighPassFilter.m
@@ -13,7 +13,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = HighPassFilter(imageIn,sigmas,device)
     try
         [imageOut] = HIP.Cuda.HighPassFilter(imageIn,sigmas,device);
diff --git a/src/MATLAB/+HIP/IdentityFilter.m b/src/MATLAB/+HIP/IdentityFilter.m
index 12fefae6586fc76467fe115cc484109f778d1ce0..f2ef32f41a9574de6d2969d7511015e871aaef49 100644
--- a/src/MATLAB/+HIP/IdentityFilter.m
+++ b/src/MATLAB/+HIP/IdentityFilter.m
@@ -10,7 +10,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = IdentityFilter(imageIn,device)
     try
         [imageOut] = HIP.Cuda.IdentityFilter(imageIn,device);
diff --git a/src/MATLAB/+HIP/Info.m b/src/MATLAB/+HIP/Info.m
index 8c867debca80ad4cf759a6652d8217e58326215f..df476a12f32e9fe0a937d195de086789cc660604 100644
--- a/src/MATLAB/+HIP/Info.m
+++ b/src/MATLAB/+HIP/Info.m
@@ -6,7 +6,6 @@
 %       commandInfo.inArgs - Comma-delimited string list of input arguments
 %       commandInfo.helpLines - Help string
 %    
-
 function [cmdInfo] = Info()
     try
         [cmdInfo] = HIP.Cuda.Info();
diff --git a/src/MATLAB/+HIP/LoG.m b/src/MATLAB/+HIP/LoG.m
index 6cb94a63c44bc1793ffffaa7faf00d9708626ad9..79624c8ab99f944073e54fb77c721da9cb35fef8 100644
--- a/src/MATLAB/+HIP/LoG.m
+++ b/src/MATLAB/+HIP/LoG.m
@@ -13,7 +13,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = LoG(imageIn,sigmas,device)
     try
         [imageOut] = HIP.Cuda.LoG(imageIn,sigmas,device);
diff --git a/src/MATLAB/+HIP/MaxFilter.m b/src/MATLAB/+HIP/MaxFilter.m
index 320a3022af3b17e1d3cf2d0c052296e8537ea4e4..3bb149fd5b4550c5cf3a49bcf9a3dd06d1f41ff5 100644
--- a/src/MATLAB/+HIP/MaxFilter.m
+++ b/src/MATLAB/+HIP/MaxFilter.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = MaxFilter(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.MaxFilter(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/MeanFilter.m b/src/MATLAB/+HIP/MeanFilter.m
index 8b681294101a19d995bebc7dbde9958a40ce90c9..8fcc914173d12e0227bfa0e1566f4f4fa5c5b943 100644
--- a/src/MATLAB/+HIP/MeanFilter.m
+++ b/src/MATLAB/+HIP/MeanFilter.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = MeanFilter(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.MeanFilter(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/MedianFilter.m b/src/MATLAB/+HIP/MedianFilter.m
index 0a12d4c2b0d7ddde73cce6018ef0ebecc7ad370e..c02ce79601f6c75aa7cf1d9660039348673e5b12 100644
--- a/src/MATLAB/+HIP/MedianFilter.m
+++ b/src/MATLAB/+HIP/MedianFilter.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = MedianFilter(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.MedianFilter(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/MinFilter.m b/src/MATLAB/+HIP/MinFilter.m
index 48b3ffbd8a07ad1b9b6b597f2cf756dae71a2fb3..3100327e51d8d16452e9cd4386f0175189f372b8 100644
--- a/src/MATLAB/+HIP/MinFilter.m
+++ b/src/MATLAB/+HIP/MinFilter.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = MinFilter(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.MinFilter(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/MinMax.m b/src/MATLAB/+HIP/MinMax.m
deleted file mode 100644
index bc3888e09d65816c170f4fec5d9a3bcdc60637ef..0000000000000000000000000000000000000000
--- a/src/MATLAB/+HIP/MinMax.m
+++ /dev/null
@@ -1,21 +0,0 @@
-% MinMax - This returns the global min and max values.
-%    [minOut,maxOut] = HIP.MinMax(arrayIn,[device])
-%    	imageIn = This is a one to five dimensional array. The first three dimensions are treated as spatial.
-%    		The spatial dimensions will have the kernel applied. The last two dimensions will determine
-%    		how to stride or jump to the next spatial block.
-%    
-%    	device (optional) = Use this if you have multiple devices and want to select one explicitly.
-%    		Setting this to [] allows the algorithm to either pick the best device and/or will try to split
-%    		the data across multiple devices.
-%    
-%    	minOut = This is the minimum value found in the input.
-%    	maxOut = This is the maximum value found in the input.
-
-function [minOut,maxOut] = MinMax(arrayIn,device)
-    try
-        [minOut,maxOut] = HIP.Cuda.MinMax(arrayIn,device);
-    catch errMsg
-        warning(errMsg.message);
-        [minOut,maxOut] = HIP.Local.MinMax(arrayIn,device);
-    end
-end
diff --git a/src/MATLAB/+HIP/MultiplySum.m b/src/MATLAB/+HIP/MultiplySum.m
index ab6f06ea6359bf48f9c6e2a46d2610dd3e7fb8f6..c946d07d14ef9f2aad0f607464d24e1f430078f4 100644
--- a/src/MATLAB/+HIP/MultiplySum.m
+++ b/src/MATLAB/+HIP/MultiplySum.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = MultiplySum(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.MultiplySum(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/NLMeans.m b/src/MATLAB/+HIP/NLMeans.m
index 39cdc87d3012e847d4ee4f5a12ce9a2efc3f53f4..61d53945fa89d7533a2b067bd27b5baf17fe6da1 100644
--- a/src/MATLAB/+HIP/NLMeans.m
+++ b/src/MATLAB/+HIP/NLMeans.m
@@ -10,7 +10,6 @@
 %    
 %    	nhoodRadius = radius of patch size (comparison window).
 %    
-
 function [imageOut] = NLMeans(imageIn,h,searchWindowRadius,nhoodRadius,device)
     try
         [imageOut] = HIP.Cuda.NLMeans(imageIn,h,searchWindowRadius,nhoodRadius,device);
diff --git a/src/MATLAB/+HIP/Opener.m b/src/MATLAB/+HIP/Opener.m
index 21f6a5bcb2568fd6e6c9f4c4ab8b251bcca7037a..e218c6df0299b433957b0f4b2b78a41cdd989288 100644
--- a/src/MATLAB/+HIP/Opener.m
+++ b/src/MATLAB/+HIP/Opener.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = Opener(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.Opener(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/StdFilter.m b/src/MATLAB/+HIP/StdFilter.m
index 2fe520c1b9993faf20112483f74236291006f5ed..38656815c954c5a89be95b72e845fbc0edb17828 100644
--- a/src/MATLAB/+HIP/StdFilter.m
+++ b/src/MATLAB/+HIP/StdFilter.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = StdFilter(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.StdFilter(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/Sum.m b/src/MATLAB/+HIP/Sum.m
index 68eab89b43caf566748e2c8ad82c13fe1dca2e3f..e11dad4bef4053d84b84ed2782c9605005672225 100644
--- a/src/MATLAB/+HIP/Sum.m
+++ b/src/MATLAB/+HIP/Sum.m
@@ -10,7 +10,6 @@
 %    
 %    	valueOut = This is the summation of the entire array.
 %    
-
 function [imageOut] = Sum(imageIn,device)
     try
         [imageOut] = HIP.Cuda.Sum(imageIn,device);
diff --git a/src/MATLAB/+HIP/VarFilter.m b/src/MATLAB/+HIP/VarFilter.m
index 1e3d642e3495b3363dc293646b1b1231444ee1ef..c8b1a01d447fefafba448c83c8636cd656d70441 100644
--- a/src/MATLAB/+HIP/VarFilter.m
+++ b/src/MATLAB/+HIP/VarFilter.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = VarFilter(imageIn,kernel,numIterations,device)
     try
         [imageOut] = HIP.Cuda.VarFilter(imageIn,kernel,numIterations,device);
diff --git a/src/MATLAB/+HIP/WienerFilter.m b/src/MATLAB/+HIP/WienerFilter.m
index 398311f9678fe758d582bdb44b56ffcd99ce6115..b24ba9a9714dd80d793cde839ee013efdc0b8e32 100644
--- a/src/MATLAB/+HIP/WienerFilter.m
+++ b/src/MATLAB/+HIP/WienerFilter.m
@@ -18,7 +18,6 @@
 %    
 %    	imageOut = This will be an array of the same type and shape as the input array.
 %    
-
 function [imageOut] = WienerFilter(imageIn,kernel,noiseVariance,device)
     try
         [imageOut] = HIP.Cuda.WienerFilter(imageIn,kernel,noiseVariance,device);