diff --git a/MagickCore/static.c b/MagickCore/static.c
new file mode 100644
index 0000000..9ef564c
--- /dev/null
+++ b/MagickCore/static.c
@@ -0,0 +1,496 @@
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%                  SSSSS  TTTTT   AAA   TTTTT  IIIII   CCCC                   %
+%                  SS       T    A   A    T      I    C                       %
+%                   SSS     T    AAAAA    T      I    C                       %
+%                     SS    T    A   A    T      I    C                       %
+%                  SSSSS    T    A   A    T    IIIII   CCCC                   %
+%                                                                             %
+%                                                                             %
+%                          MagickCore Static Methods                          %
+%                                                                             %
+%                              Software Design                                %
+%                                John Cristy                                  %
+%                                 March 2000                                  %
+%                                                                             %
+%                                                                             %
+%  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization      %
+%  dedicated to making software imaging solutions freely available.           %
+%                                                                             %
+%  You may not use this file except in compliance with the License.  You may  %
+%  obtain a copy of the License at                                            %
+%                                                                             %
+%    http://www.imagemagick.org/script/license.php                            %
+%                                                                             %
+%  Unless required by applicable law or agreed to in writing, software        %
+%  distributed under the License is distributed on an "AS IS" BASIS,          %
+%  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   %
+%  See the License for the specific language governing permissions and        %
+%  limitations under the License.                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
+%
+*/
+
+/*
+  Include declarations.
+*/
+#include "MagickCore/studio.h"
+#include "MagickCore/exception-private.h"
+#include "MagickCore/image.h"
+#include "MagickCore/module.h"
+#include "MagickCore/policy.h"
+#include "MagickCore/static.h"
+#include "MagickCore/string_.h"
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%   I n v o k e S t a t i c I m a g e F i l t e r                             %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  InvokeStaticImageFilter() invokes a static image filter.
+%
+%  The format of the InvokeStaticImageFilter method is:
+%
+%      MagickBooleanType InvokeStaticImageFilter(const char *tag,Image **image,
+%        const int argc,const char **argv)
+%
+%  A description of each parameter follows:
+%
+%    o tag: the module tag.
+%
+%    o image: the image.
+%
+%    o argc: the number of elements in the argument vector.
+%
+%    o argv: A text array containing the command line arguments.
+%
+%    o argv: A text array containing the command line arguments.
+%
+%    o exception: return any errors or warnings in this structure.
+%
+*/
+#if defined(MAGICKCORE_MODULES_SUPPORT)
+MagickExport MagickBooleanType InvokeStaticImageFilter(const char *tag,
+  Image **image,const int argc,const char **argv,ExceptionInfo *exception)
+{
+  PolicyRights
+    rights;
+
+  assert(image != (Image **) NULL);
+  assert((*image)->signature == MagickSignature);
+  if ((*image)->debug != MagickFalse)
+    (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",(*image)->filename);
+  rights=ReadPolicyRights;
+  if (IsRightsAuthorized(FilterPolicyDomain,rights,tag) == MagickFalse)
+    {
+      errno=EPERM;
+      (void) ThrowMagickException(exception,GetMagickModule(),PolicyError,
+        "NotAuthorized","`%s'",tag);
+      return(MagickFalse);
+    }
+#if defined(MAGICKCORE_BUILD_MODULES)
+  (void) tag;
+  (void) argc;
+  (void) argv;
+  (void) exception;
+#else
+  {
+    extern size_t
+      analyzeImage(Image **,const int,char **,ExceptionInfo *);
+
+    ImageFilterHandler
+      *image_filter;
+
+    image_filter=(ImageFilterHandler *) NULL;
+    if (LocaleCompare("analyze",tag) == 0)
+      image_filter=(ImageFilterHandler *) analyzeImage;
+    if (image_filter == (ImageFilterHandler *) NULL)
+      (void) ThrowMagickException(exception,GetMagickModule(),ModuleError,
+        "UnableToLoadModule","`%s'",tag);
+    else
+      {
+        size_t
+          signature;
+
+        if ((*image)->debug != MagickFalse)
+          (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+            "Invoking \"%s\" static image filter",tag);
+        signature=image_filter(image,argc,argv,exception);
+        if ((*image)->debug != MagickFalse)
+          (void) LogMagickEvent(CoderEvent,GetMagickModule(),"\"%s\" completes",
+            tag);
+        if (signature != MagickImageFilterSignature)
+          {
+            (void) ThrowMagickException(exception,GetMagickModule(),ModuleError,
+              "ImageFilterSignatureMismatch","`%s': %8lx != %8lx",tag,
+              (unsigned long) signature,(unsigned long)
+              MagickImageFilterSignature);
+            return(MagickFalse);
+          }
+      }
+  }
+#endif
+  return(MagickTrue);
+}
+#endif
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%   R e g i s t e r S t a t i c M o d u l e s                                 %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  (void) RegisterStaticModules() statically registers all the available module
+%  handlers.
+%
+%  The format of the RegisterStaticModules method is:
+%
+%      (void) RegisterStaticModules(void)
+%
+*/
+MagickExport void RegisterStaticModules(void)
+{
+#if !defined(MAGICKCORE_BUILD_MODULES)
+  (void) RegisterAAIImage();
+  (void) RegisterARTImage();
+  (void) RegisterAVSImage();
+  (void) RegisterBMPImage();
+  (void) RegisterCALSImage();
+  (void) RegisterCAPTIONImage();
+  (void) RegisterCINImage();
+  (void) RegisterCIPImage();
+  (void) RegisterCLIPImage();
+#if defined(MAGICKCORE_WINGDI32_DELEGATE)
+  (void) RegisterCLIPBOARDImage();
+#endif
+  (void) RegisterCMYKImage();
+  (void) RegisterCUTImage();
+  (void) RegisterDCMImage();
+  (void) RegisterDDSImage();
+  (void) RegisterDEBUGImage();
+  (void) RegisterDIBImage();
+#if defined(MAGICKCORE_DJVU_DELEGATE)
+  (void) RegisterDJVUImage();
+#endif
+  (void) RegisterDNGImage();
+#if defined(MAGICKCORE_DPS_DELEGATE)
+  (void) RegisterDPSImage();
+#endif
+  (void) RegisterDPXImage();
+#if defined(MAGICKCORE_WINGDI32_DELEGATE)
+  (void) RegisterEMFImage();
+#endif
+#if defined(MAGICKCORE_TIFF_DELEGATE)
+  (void) RegisterEPTImage();
+#endif
+#if defined(MAGICKCORE_OPENEXR_DELEGATE)
+  (void) RegisterEXRImage();
+#endif
+  (void) RegisterFAXImage();
+  (void) RegisterFITSImage();
+#if defined(MAGICKCORE_FPX_DELEGATE)
+  (void) RegisterFPXImage();
+#endif
+  (void) RegisterGIFImage();
+  (void) RegisterGRAYImage();
+  (void) RegisterGRADIENTImage();
+  (void) RegisterHALDImage();
+  (void) RegisterHDRImage();
+  (void) RegisterHISTOGRAMImage();
+  (void) RegisterHRZImage();
+  (void) RegisterHTMLImage();
+  (void) RegisterICONImage();
+  (void) RegisterINFOImage();
+  (void) RegisterINLINEImage();
+  (void) RegisterIPLImage();
+#if defined(MAGICKCORE_JBIG_DELEGATE)
+  (void) RegisterJBIGImage();
+#endif
+#if defined(MAGICKCORE_JPEG_DELEGATE)
+  (void) RegisterJPEGImage();
+#endif
+#if defined(MAGICKCORE_JP2_DELEGATE)
+  (void) RegisterJP2Image();
+#endif
+  (void) RegisterLABELImage();
+  (void) RegisterMACImage();
+  (void) RegisterMAGICKImage();
+  (void) RegisterMAPImage();
+  (void) RegisterMATImage();
+  (void) RegisterMATTEImage();
+  (void) RegisterMETAImage();
+  (void) RegisterMIFFImage();
+  (void) RegisterMONOImage();
+  (void) RegisterMPCImage();
+  (void) RegisterMPEGImage();
+  (void) RegisterMPRImage();
+  (void) RegisterMSLImage();
+  (void) RegisterMTVImage();
+  (void) RegisterMVGImage();
+  (void) RegisterNULLImage();
+  (void) RegisterOTBImage();
+  (void) RegisterPALMImage();
+  (void) RegisterPATTERNImage();
+  (void) RegisterPCDImage();
+  (void) RegisterPCLImage();
+  (void) RegisterPCXImage();
+  (void) RegisterPDBImage();
+  (void) RegisterPDFImage();
+  (void) RegisterPESImage();
+  (void) RegisterPICTImage();
+  (void) RegisterPIXImage();
+  (void) RegisterPLASMAImage();
+#if defined(MAGICKCORE_PNG_DELEGATE)
+  (void) RegisterPNGImage();
+#endif
+  (void) RegisterPNMImage();
+  (void) RegisterPREVIEWImage();
+  (void) RegisterPSImage();
+  (void) RegisterPS2Image();
+  (void) RegisterPS3Image();
+  (void) RegisterPSDImage();
+  (void) RegisterPWPImage();
+  (void) RegisterRAWImage();
+  (void) RegisterRGBImage();
+  (void) RegisterRLAImage();
+  (void) RegisterRLEImage();
+  (void) RegisterSCRImage();
+  (void) RegisterSCTImage();
+  (void) RegisterSFWImage();
+  (void) RegisterSGIImage();
+  (void) RegisterSTEGANOImage();
+  (void) RegisterSUNImage();
+  (void) RegisterSVGImage();
+  (void) RegisterTGAImage();
+  (void) RegisterTHUMBNAILImage();
+#if defined(MAGICKCORE_TIFF_DELEGATE)
+  (void) RegisterTIFFImage();
+#endif
+  (void) RegisterTILEImage();
+  (void) RegisterTIMImage();
+  (void) RegisterTTFImage();
+  (void) RegisterTXTImage();
+  (void) RegisterUILImage();
+  (void) RegisterURLImage();
+  (void) RegisterUYVYImage();
+  (void) RegisterVICARImage();
+  (void) RegisterVIDImage();
+  (void) RegisterVIFFImage();
+  (void) RegisterWBMPImage();
+#if defined(MAGICKCORE_WEBP_DELEGATE)
+  (void) RegisterWEBPImage();
+#endif
+#if defined(MAGICKCORE_WMF_DELEGATE) || defined(MAGICKCORE_WMFLITE_DELEGATE)
+  (void) RegisterWMFImage();
+#endif
+  (void) RegisterWPGImage();
+#if defined(MAGICKCORE_X11_DELEGATE)
+  (void) RegisterXImage();
+#endif
+  (void) RegisterXBMImage();
+  (void) RegisterXCImage();
+  (void) RegisterXCFImage();
+  (void) RegisterXPMImage();
+  (void) RegisterXPSImage();
+#if defined(_VISUALC_)
+  (void) RegisterXTRNImage();
+#endif
+#if defined(MAGICKCORE_X11_DELEGATE)
+  (void) RegisterXWDImage();
+#endif
+  (void) RegisterYCBCRImage();
+  (void) RegisterYUVImage();
+#endif
+}
+
+/*
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%   U n r e g i s t e r S t a t i c M o d u l e s                             %
+%                                                                             %
+%                                                                             %
+%                                                                             %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%  UnregisterStaticModules() statically unregisters all the available module
+%  handlers.
+%
+%  The format of the UnregisterStaticModules method is:
+%
+%      UnregisterStaticModules(void)
+%
+*/
+MagickExport void UnregisterStaticModules(void)
+{
+#if !defined(MAGICKCORE_BUILD_MODULES)
+  UnregisterAAIImage();
+  UnregisterARTImage();
+  UnregisterAVSImage();
+  UnregisterBMPImage();
+  UnregisterBRAILLEImage();
+  UnregisterCALSImage();
+  UnregisterCAPTIONImage();
+  UnregisterCINImage();
+  UnregisterCIPImage();
+  UnregisterCLIPImage();
+#if defined(MAGICKCORE_WINGDI32_DELEGATE)
+  UnregisterCLIPBOARDImage();
+#endif
+  UnregisterCMYKImage();
+  UnregisterCUTImage();
+  UnregisterDCMImage();
+  UnregisterDDSImage();
+  UnregisterDEBUGImage();
+  UnregisterDIBImage();
+#if defined(MAGICKCORE_DJVU_DELEGATE)
+  UnregisterDJVUImage();
+#endif
+  UnregisterDNGImage();
+#if defined(MAGICKCORE_DPS_DELEGATE)
+  UnregisterDPSImage();
+#endif
+  UnregisterDPXImage();
+#if defined(MAGICKCORE_WINGDI32_DELEGATE)
+  UnregisterEMFImage();
+#endif
+#if defined(MAGICKCORE_TIFF_DELEGATE)
+  UnregisterEPTImage();
+#endif
+#if defined(MAGICKCORE_OPENEXR_DELEGATE)
+  UnregisterEXRImage();
+#endif
+  UnregisterFAXImage();
+  UnregisterFITSImage();
+#if defined(MAGICKCORE_FPX_DELEGATE)
+  UnregisterFPXImage();
+#endif
+  UnregisterGIFImage();
+  UnregisterGRAYImage();
+  UnregisterGRADIENTImage();
+  UnregisterHALDImage();
+  UnregisterHDRImage();
+  UnregisterHISTOGRAMImage();
+  UnregisterHRZImage();
+  UnregisterHTMLImage();
+  UnregisterICONImage();
+  UnregisterINFOImage();
+  UnregisterINLINEImage();
+  UnregisterIPLImage();
+#if defined(MAGICKCORE_JBIG_DELEGATE)
+  UnregisterJBIGImage();
+#endif
+#if defined(MAGICKCORE_JPEG_DELEGATE)
+  UnregisterJPEGImage();
+#endif
+#if defined(MAGICKCORE_JP2_DELEGATE)
+  UnregisterJP2Image();
+#endif
+  UnregisterLABELImage();
+  UnregisterMACImage();
+  UnregisterMAGICKImage();
+  UnregisterMAPImage();
+  UnregisterMATImage();
+  UnregisterMATTEImage();
+  UnregisterMETAImage();
+  UnregisterMIFFImage();
+  UnregisterMONOImage();
+  UnregisterMPCImage();
+  UnregisterMPEGImage();
+  UnregisterMPRImage();
+  UnregisterMSLImage();
+  UnregisterMTVImage();
+  UnregisterMVGImage();
+  UnregisterNULLImage();
+  UnregisterOTBImage();
+  UnregisterPALMImage();
+  UnregisterPATTERNImage();
+  UnregisterPCDImage();
+  UnregisterPCLImage();
+  UnregisterPCXImage();
+  UnregisterPDBImage();
+  UnregisterPDFImage();
+  UnregisterPESImage();
+  UnregisterPICTImage();
+  UnregisterPIXImage();
+  UnregisterPLASMAImage();
+#if defined(MAGICKCORE_PNG_DELEGATE)
+  UnregisterPNGImage();
+#endif
+  UnregisterPNMImage();
+  UnregisterPREVIEWImage();
+  UnregisterPSImage();
+  UnregisterPS2Image();
+  UnregisterPS3Image();
+  UnregisterPSDImage();
+  UnregisterPWPImage();
+  UnregisterRAWImage();
+  UnregisterRGBImage();
+  UnregisterRLAImage();
+  UnregisterRLEImage();
+  UnregisterSCRImage();
+  UnregisterSCTImage();
+  UnregisterSFWImage();
+  UnregisterSGIImage();
+  UnregisterSTEGANOImage();
+  UnregisterSUNImage();
+  UnregisterSVGImage();
+  UnregisterTGAImage();
+  UnregisterTHUMBNAILImage();
+#if defined(MAGICKCORE_TIFF_DELEGATE)
+  UnregisterTIFFImage();
+#endif
+  UnregisterTILEImage();
+  UnregisterTIMImage();
+  UnregisterTTFImage();
+  UnregisterTXTImage();
+  UnregisterUILImage();
+  UnregisterURLImage();
+  UnregisterUYVYImage();
+  UnregisterVICARImage();
+  UnregisterVIDImage();
+  UnregisterVIFFImage();
+  UnregisterWBMPImage();
+#if defined(MAGICKCORE_WEBP_DELEGATE)
+  UnregisterWEBPImage();
+#endif
+#if defined(MAGICKCORE_WMF_DELEGATE) || defined(MAGICKCORE_WMFLITE_DELEGATE)
+  UnregisterWMFImage();
+#endif
+  UnregisterWPGImage();
+#if defined(MAGICKCORE_X11_DELEGATE)
+  UnregisterXImage();
+#endif
+  UnregisterXBMImage();
+  UnregisterXCImage();
+  UnregisterXCFImage();
+  UnregisterXPMImage();
+  UnregisterXPSImage();
+#if defined(_VISUALC_)
+  UnregisterXTRNImage();
+#endif
+#if defined(MAGICKCORE_X11_DELEGATE)
+  UnregisterXWDImage();
+#endif
+  UnregisterYCBCRImage();
+  UnregisterYUVImage();
+#endif
+}