diff --git a/MagickCore/Makefile.am b/MagickCore/Makefile.am
index 783beea..54354e2 100644
--- a/MagickCore/Makefile.am
+++ b/MagickCore/Makefile.am
@@ -127,6 +127,7 @@
 	MagickCore/fx-private.h \
 	MagickCore/gem.c \
 	MagickCore/gem.h \
+	MagickCore/gem-private.h \
 	MagickCore/geometry.c \
 	MagickCore/geometry.h \
 	MagickCore/hashmap.c \
@@ -157,6 +158,7 @@
 	MagickCore/magick.h \
 	MagickCore/matrix.c \
 	MagickCore/matrix.h \
+	MagickCore/matrix-private.h \
 	MagickCore/memory.c \
 	MagickCore/memory_.h \
 	MagickCore/methods.h \
@@ -251,6 +253,7 @@
 	MagickCore/type.h \
 	MagickCore/utility.c \
 	MagickCore/utility.h \
+	MagickCore/utility-private.h \
 	MagickCore/version.c \
 	MagickCore/version.h \
 	MagickCore/vms.h \
@@ -390,12 +393,14 @@
 	MagickCore/draw-private.h \
 	MagickCore/exception-private.h \
 	MagickCore/fx-private.h \
+	MagickCore/gem-private.h \
 	MagickCore/image-private.h \
  	MagickCore/locale-private.h \
  	MagickCore/log-private.h \
 	MagickCore/mac.h \
  	MagickCore/magick-private.h \
  	MagickCore/magic-private.h \
+	MagickCore/matrix-private.h \
  	MagickCore/methods-private.h \
  	MagickCore/mime-private.h \
 	MagickCore/mime-private.h \
@@ -424,6 +429,7 @@
 	MagickCore/thread-private.h \
 	MagickCore/token-private.h \
  	MagickCore/type-private.h \
+	MagickCore/utility-private.h \
 	MagickCore/vms.h \
  	MagickCore/widget-private.h \
 	MagickCore/xwindow-private.h
diff --git a/MagickCore/accelerate.c b/MagickCore/accelerate.c
index 8897422..61c61bf 100644
--- a/MagickCore/accelerate.c
+++ b/MagickCore/accelerate.c
@@ -53,6 +53,7 @@
 #include "MagickCore/accelerate.h"
 #include "MagickCore/artifact.h"
 #include "MagickCore/cache.h"
+#include "MagickCore/cache-private.h"
 #include "MagickCore/cache-view.h"
 #include "MagickCore/color-private.h"
 #include "MagickCore/enhance.h"
diff --git a/MagickCore/animate.c b/MagickCore/animate.c
index c73ec1f..b79c0d6 100644
--- a/MagickCore/animate.c
+++ b/MagickCore/animate.c
@@ -67,6 +67,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/transform.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #include "MagickCore/widget.h"
 #include "MagickCore/widget-private.h"
diff --git a/MagickCore/annotate.c b/MagickCore/annotate.c
index c141379..0def9c9 100644
--- a/MagickCore/annotate.c
+++ b/MagickCore/annotate.c
@@ -73,6 +73,7 @@
 #include "MagickCore/transform.h"
 #include "MagickCore/type.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xwindow.h"
 #include "MagickCore/xwindow-private.h"
 #if defined(MAGICKCORE_FREETYPE_DELEGATE)
diff --git a/MagickCore/blob.c b/MagickCore/blob.c
index 1e0b5af..33b0ddb 100644
--- a/MagickCore/blob.c
+++ b/MagickCore/blob.c
@@ -62,6 +62,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #if defined(MAGICKCORE_HAVE_MMAP_FILEIO) && !defined(MAGICKCORE_WINDOWS_SUPPORT)
 # include <sys/mman.h>
 #endif
diff --git a/MagickCore/cache-private.h b/MagickCore/cache-private.h
index 5612e34..efdd39a 100644
--- a/MagickCore/cache-private.h
+++ b/MagickCore/cache-private.h
@@ -217,11 +217,13 @@
   *GetVirtualPixelsNexus(const Cache,NexusInfo *);
 
 extern MagickPrivate const void
+  *AcquirePixelCachePixels(const Image *,MagickSizeType *,ExceptionInfo *),
   *GetVirtualMetacontentFromNexus(const Cache,NexusInfo *);
 
 extern MagickPrivate MagickBooleanType
   CacheComponentGenesis(void),
-  SyncAuthenticPixelCacheNexus(Image *,NexusInfo *,ExceptionInfo *);
+  SyncAuthenticPixelCacheNexus(Image *,NexusInfo *,ExceptionInfo *),
+  SyncImagePixelCache(Image *,ExceptionInfo *);
 
 extern MagickPrivate MagickSizeType
   GetPixelCacheNexusExtent(const Cache,NexusInfo *);
@@ -240,10 +242,15 @@
 extern MagickPrivate size_t
   GetPixelCacheChannels(const Cache);
 
+extern MagickPrivate VirtualPixelMethod
+  GetPixelCacheVirtualMethod(const Image *),
+  SetPixelCacheVirtualMethod(const Image *,const VirtualPixelMethod);
+
 extern MagickPrivate void
   CacheComponentTerminus(void),
   ClonePixelCacheMethods(Cache,const Cache),
   *GetPixelCacheNexusMetacontent(const Cache,NexusInfo *),
+  *GetPixelCachePixels(Image *,MagickSizeType *,ExceptionInfo *),
   GetPixelCacheTileSize(const Image *,size_t *,size_t *),
   GetPixelCacheMethods(CacheMethods *),
   SetPixelCacheMethods(Cache,CacheMethods *);
diff --git a/MagickCore/cache.c b/MagickCore/cache.c
index 74318ec..d24a07a 100644
--- a/MagickCore/cache.c
+++ b/MagickCore/cache.c
@@ -66,6 +66,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/thread-private.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #if defined(MAGICKCORE_ZLIB_DELEGATE)
 #include "zlib.h"
 #endif
@@ -297,7 +298,7 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-MagickExport const void *AcquirePixelCachePixels(const Image *image,
+MagickPrivate const void *AcquirePixelCachePixels(const Image *image,
   MagickSizeType *length,ExceptionInfo *exception)
 {
   CacheInfo
@@ -2687,7 +2688,7 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-MagickExport void *GetPixelCachePixels(Image *image,MagickSizeType *length,
+MagickPrivate void *GetPixelCachePixels(Image *image,MagickSizeType *length,
   ExceptionInfo *exception)
 {
   CacheInfo
@@ -2850,7 +2851,7 @@
 %    o image: the image.
 %
 */
-MagickExport VirtualPixelMethod GetPixelCacheVirtualMethod(const Image *image)
+MagickPrivate VirtualPixelMethod GetPixelCacheVirtualMethod(const Image *image)
 {
   CacheInfo
     *cache_info;
@@ -5118,7 +5119,7 @@
 %    o virtual_pixel_method: choose the type of virtual pixel.
 %
 */
-MagickExport VirtualPixelMethod SetPixelCacheVirtualMethod(const Image *image,
+MagickPrivate VirtualPixelMethod SetPixelCacheVirtualMethod(const Image *image,
   const VirtualPixelMethod virtual_pixel_method)
 {
   CacheInfo
@@ -5316,7 +5317,7 @@
 %                                                                             %
 %                                                                             %
 %                                                                             %
-%   S y n c I m a g e P i x e l C a c h e                                     %
++   S y n c I m a g e P i x e l C a c h e                                     %
 %                                                                             %
 %                                                                             %
 %                                                                             %
@@ -5338,7 +5339,7 @@
 %    o exception: return any errors or warnings in this structure.
 %
 */
-MagickExport MagickBooleanType SyncImagePixelCache(Image *image,
+MagickPrivate MagickBooleanType SyncImagePixelCache(Image *image,
   ExceptionInfo *exception)
 {
   CacheInfo
diff --git a/MagickCore/cache.h b/MagickCore/cache.h
index 0d262e5..a511519 100644
--- a/MagickCore/cache.h
+++ b/MagickCore/cache.h
@@ -30,7 +30,6 @@
   *GetVirtualPixelQueue(const Image *);
 
 extern MagickExport const void
-  *AcquirePixelCachePixels(const Image *,MagickSizeType *,ExceptionInfo *),
   *GetVirtualMetacontent(const Image *);
 
 extern MagickExport MagickBooleanType
@@ -44,8 +43,7 @@
     ExceptionInfo *),
   PersistPixelCache(Image *,const char *,const MagickBooleanType,
     MagickOffsetType *,ExceptionInfo *),
-  SyncAuthenticPixels(Image *,ExceptionInfo *),
-  SyncImagePixelCache(Image *,ExceptionInfo *);
+  SyncAuthenticPixels(Image *,ExceptionInfo *);
 
 extern MagickExport MagickSizeType
   GetImageExtent(const Image *);
@@ -57,13 +55,8 @@
   *QueueAuthenticPixels(Image *,const ssize_t,const ssize_t,const size_t,
     const size_t,ExceptionInfo *);
 
-extern MagickExport VirtualPixelMethod
-  GetPixelCacheVirtualMethod(const Image *),
-  SetPixelCacheVirtualMethod(const Image *,const VirtualPixelMethod);
-
 extern MagickExport void
-  *GetAuthenticMetacontent(const Image *),
-  *GetPixelCachePixels(Image *,MagickSizeType *,ExceptionInfo *);
+  *GetAuthenticMetacontent(const Image *);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff --git a/MagickCore/coder.c b/MagickCore/coder.c
index 8fb497d..2b411ee 100644
--- a/MagickCore/coder.c
+++ b/MagickCore/coder.c
@@ -57,6 +57,7 @@
 #include "MagickCore/splay-tree.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/color.c b/MagickCore/color.c
index c391910..960cb12 100644
--- a/MagickCore/color.c
+++ b/MagickCore/color.c
@@ -52,6 +52,7 @@
 #include "MagickCore/exception.h"
 #include "MagickCore/exception-private.h"
 #include "MagickCore/gem.h"
+#include "MagickCore/gem-private.h"
 #include "MagickCore/geometry.h"
 #include "MagickCore/image-private.h"
 #include "MagickCore/memory_.h"
@@ -66,6 +67,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/colorspace.c b/MagickCore/colorspace.c
index 02483fd..ec6c3ab 100644
--- a/MagickCore/colorspace.c
+++ b/MagickCore/colorspace.c
@@ -53,6 +53,7 @@
 #include "MagickCore/image.h"
 #include "MagickCore/image-private.h"
 #include "MagickCore/gem.h"
+#include "MagickCore/gem-private.h"
 #include "MagickCore/memory_.h"
 #include "MagickCore/monitor.h"
 #include "MagickCore/monitor-private.h"
diff --git a/MagickCore/composite.c b/MagickCore/composite.c
index 2225223..6f9c7e1 100644
--- a/MagickCore/composite.c
+++ b/MagickCore/composite.c
@@ -72,6 +72,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/thread-private.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 
 /*
diff --git a/MagickCore/configure.c b/MagickCore/configure.c
index 83051b3..6049bb0 100644
--- a/MagickCore/configure.c
+++ b/MagickCore/configure.c
@@ -53,6 +53,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/constitute.c b/MagickCore/constitute.c
index fbe65a3..e2d0e29 100644
--- a/MagickCore/constitute.c
+++ b/MagickCore/constitute.c
@@ -74,6 +74,7 @@
 #include "MagickCore/timer.h"
 #include "MagickCore/transform.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 
 static SemaphoreInfo
   *constitute_semaphore = (SemaphoreInfo *) NULL;
diff --git a/MagickCore/delegate.c b/MagickCore/delegate.c
index fea2642..2f47595 100644
--- a/MagickCore/delegate.c
+++ b/MagickCore/delegate.c
@@ -64,6 +64,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/display.c b/MagickCore/display.c
index d0308b2..84c09bb 100644
--- a/MagickCore/display.c
+++ b/MagickCore/display.c
@@ -85,6 +85,7 @@
 #include "MagickCore/transform.h"
 #include "MagickCore/threshold.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #include "MagickCore/widget.h"
 #include "MagickCore/widget-private.h"
diff --git a/MagickCore/distort.c b/MagickCore/distort.c
index 4d46fd3..6413c53 100644
--- a/MagickCore/distort.c
+++ b/MagickCore/distort.c
@@ -54,6 +54,7 @@
 #include "MagickCore/image.h"
 #include "MagickCore/list.h"
 #include "MagickCore/matrix.h"
+#include "MagickCore/matrix-private.h"
 #include "MagickCore/memory_.h"
 #include "MagickCore/monitor-private.h"
 #include "MagickCore/option.h"
diff --git a/MagickCore/enhance.c b/MagickCore/enhance.c
index d6c70a2..fe3079a 100644
--- a/MagickCore/enhance.c
+++ b/MagickCore/enhance.c
@@ -53,6 +53,7 @@
 #include "MagickCore/exception-private.h"
 #include "MagickCore/fx.h"
 #include "MagickCore/gem.h"
+#include "MagickCore/gem-private.h"
 #include "MagickCore/geometry.h"
 #include "MagickCore/histogram.h"
 #include "MagickCore/image.h"
diff --git a/MagickCore/exception.c b/MagickCore/exception.c
index 509a585..47c9d29 100644
--- a/MagickCore/exception.c
+++ b/MagickCore/exception.c
@@ -51,6 +51,7 @@
 #include "MagickCore/memory_.h"
 #include "MagickCore/string_.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 
 /*
   Forward declarations.
@@ -936,10 +937,10 @@
 %
 */
 
-MagickExport MagickBooleanType ThrowMagickExceptionList(
-  ExceptionInfo *exception,const char *module,const char *function,
-  const size_t line,const ExceptionType severity,const char *tag,
-  const char *format,va_list operands)
+static MagickBooleanType ThrowMagickExceptionList(ExceptionInfo *exception,
+  const char *module,const char *function,const size_t line,
+  const ExceptionType severity,const char *tag,const char *format,
+  va_list operands)
 {
   char
     message[MaxTextExtent],
diff --git a/MagickCore/exception.h b/MagickCore/exception.h
index de24d7e..b979323 100644
--- a/MagickCore/exception.h
+++ b/MagickCore/exception.h
@@ -154,10 +154,7 @@
     const char *),
   ThrowMagickException(ExceptionInfo *,const char *,const char *,const size_t,
     const ExceptionType,const char *,const char *,...)
-    magick_attribute((format (printf,7,8))),
-  ThrowMagickExceptionList(ExceptionInfo *,const char *,const char *,
-    const size_t,const ExceptionType,const char *,const char *,va_list)
-    magick_attribute((format (printf,7,0)));
+    magick_attribute((format (printf,7,8)));
 
 extern MagickExport void
   CatchException(ExceptionInfo *),
diff --git a/MagickCore/gem-private.h b/MagickCore/gem-private.h
new file mode 100644
index 0000000..a50a38b
--- /dev/null
+++ b/MagickCore/gem-private.h
@@ -0,0 +1,39 @@
+/*
+  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.
+  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.
+
+  MagickCore private graphic gems methods.
+*/
+#ifndef _MAGICKCORE_GEM_PRIVATE_H
+#define _MAGICKCORE_GEM_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+extern MagickPrivate void
+  ConvertHSBToRGB(const double,const double,const double,Quantum *,Quantum *,
+    Quantum *),
+  ConvertHWBToRGB(const double,const double,const double,Quantum *,Quantum *,
+    Quantum *),
+  ConvertRGBToHSB(const Quantum,const Quantum,const Quantum,double *,double *,
+    double *),
+  ConvertRGBToHWB(const Quantum,const Quantum,const Quantum,double *,double *,
+    double *);
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
diff --git a/MagickCore/gem.c b/MagickCore/gem.c
index cf479c1..9ac8e13 100644
--- a/MagickCore/gem.c
+++ b/MagickCore/gem.c
@@ -44,6 +44,7 @@
 #include "MagickCore/color-private.h"
 #include "MagickCore/draw.h"
 #include "MagickCore/gem.h"
+#include "MagickCore/gem-private.h"
 #include "MagickCore/image.h"
 #include "MagickCore/image-private.h"
 #include "MagickCore/log.h"
@@ -83,7 +84,7 @@
 %    o red, green, blue: A pointer to a pixel component of type Quantum.
 %
 */
-MagickExport void ConvertHSBToRGB(const double hue,const double saturation,
+MagickPrivate void ConvertHSBToRGB(const double hue,const double saturation,
   const double brightness,Quantum *red,Quantum *green,Quantum *blue)
 {
   MagickRealType
@@ -266,7 +267,7 @@
 %    o red, green, blue: A pointer to a pixel component of type Quantum.
 %
 */
-MagickExport void ConvertHWBToRGB(const double hue,const double whiteness,
+MagickPrivate void ConvertHWBToRGB(const double hue,const double whiteness,
   const double blackness,Quantum *red,Quantum *green,Quantum *blue)
 {
   MagickRealType
@@ -343,7 +344,7 @@
 %      component of the HSB color space.
 %
 */
-MagickExport void ConvertRGBToHSB(const Quantum red,const Quantum green,
+MagickPrivate void ConvertRGBToHSB(const Quantum red,const Quantum green,
   const Quantum blue,double *hue,double *saturation,double *brightness)
 {
   MagickRealType
@@ -506,7 +507,7 @@
 %      component of the HWB color space.
 %
 */
-MagickExport void ConvertRGBToHWB(const Quantum red,const Quantum green,
+MagickPrivate void ConvertRGBToHWB(const Quantum red,const Quantum green,
   const Quantum blue,double *hue,double *whiteness,double *blackness)
 {
   long
diff --git a/MagickCore/gem.h b/MagickCore/gem.h
index 27796f9..de71255 100644
--- a/MagickCore/gem.h
+++ b/MagickCore/gem.h
@@ -13,10 +13,10 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 
-  MagickCore private graphic gems methods.
+  MagickCore graphic gems methods.
 */
-#ifndef _MAGICKCORE_GEM_PRIVATE_H
-#define _MAGICKCORE_GEM_PRIVATE_H
+#ifndef _MAGICKCORE_GEM_H
+#define _MAGICKCORE_GEM_H
 
 #if defined(__cplusplus) || defined(c_plusplus)
 extern "C" {
@@ -36,17 +36,9 @@
   GetOptimalKernelWidth2D(const double,const double);
 
 extern MagickExport void
-  ConvertHSBToRGB(const double,const double,const double,Quantum *,Quantum *,
-    Quantum *),
   ConvertHSLToRGB(const double,const double,const double,Quantum *,Quantum *,
     Quantum *),
-  ConvertHWBToRGB(const double,const double,const double,Quantum *,Quantum *,
-    Quantum *),
-  ConvertRGBToHSB(const Quantum,const Quantum,const Quantum,double *,double *,
-    double *),
   ConvertRGBToHSL(const Quantum,const Quantum,const Quantum,double *,double *,
-    double *),
-  ConvertRGBToHWB(const Quantum,const Quantum,const Quantum,double *,double *,
     double *);
 
 #if defined(__cplusplus) || defined(c_plusplus)
diff --git a/MagickCore/identify.c b/MagickCore/identify.c
index b9fe664..4bcbad7 100644
--- a/MagickCore/identify.c
+++ b/MagickCore/identify.c
@@ -92,6 +92,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/timer.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #if defined(MAGICKCORE_LCMS_DELEGATE)
 #if defined(MAGICKCORE_HAVE_LCMS_LCMS2_H)
diff --git a/MagickCore/image.c b/MagickCore/image.c
index b1a34f4..2bb3af2 100644
--- a/MagickCore/image.c
+++ b/MagickCore/image.c
@@ -92,6 +92,7 @@
 #include "MagickCore/threshold.h"
 #include "MagickCore/timer.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #include "MagickCore/xwindow-private.h"
 
diff --git a/MagickCore/locale.c b/MagickCore/locale.c
index e26ee1d..00d45ce 100644
--- a/MagickCore/locale.c
+++ b/MagickCore/locale.c
@@ -55,6 +55,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/log.c b/MagickCore/log.c
index 7448e24..7dc947f 100644
--- a/MagickCore/log.c
+++ b/MagickCore/log.c
@@ -58,6 +58,7 @@
 #include "MagickCore/thread_.h"
 #include "MagickCore/thread-private.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #include "MagickCore/xml-tree.h"
 
diff --git a/MagickCore/magic.c b/MagickCore/magic.c
index 0409fe6..20c91db 100644
--- a/MagickCore/magic.c
+++ b/MagickCore/magic.c
@@ -54,6 +54,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/magick.c b/MagickCore/magick.c
index 376e9c2..7c69645 100644
--- a/MagickCore/magick.c
+++ b/MagickCore/magick.c
@@ -85,6 +85,7 @@
 #include "MagickCore/type-private.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xwindow-private.h"
 
 /*
diff --git a/MagickCore/matrix-private.h b/MagickCore/matrix-private.h
new file mode 100644
index 0000000..fe3f539
--- /dev/null
+++ b/MagickCore/matrix-private.h
@@ -0,0 +1,36 @@
+/*
+  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.
+  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.
+
+  MagickCore private graphic matrix methods.
+*/
+#ifndef _MAGICKCORE_MATRIX_PRIVATE_H
+#define _MAGICKCORE_MATRIX_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+extern MagickPrivate MagickBooleanType
+  GaussJordanElimination(double **,double **,const size_t,const size_t);
+
+extern MagickPrivate void
+  LeastSquaresAddTerms(double **,double **,const double *,const double *,
+    const size_t, const size_t);
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
diff --git a/MagickCore/matrix.c b/MagickCore/matrix.c
index db6d69c..23aa0ce 100644
--- a/MagickCore/matrix.c
+++ b/MagickCore/matrix.c
@@ -41,6 +41,7 @@
 */
 #include "MagickCore/studio.h"
 #include "MagickCore/matrix.h"
+#include "MagickCore/matrix-private.h"
 #include "MagickCore/memory_.h"
 #include "MagickCore/utility.h"
 
@@ -176,7 +177,7 @@
 %  details see    http://en.wikipedia.org/wiki/Gauss-Jordan_elimination
 %
 */
-MagickExport MagickBooleanType GaussJordanElimination(double **matrix,
+MagickPrivate MagickBooleanType GaussJordanElimination(double **matrix,
   double **vectors,const size_t rank,const size_t number_vectors)
 {
 #define GaussJordanSwap(x,y) \
@@ -354,7 +355,7 @@
 %     RelinquishMagickMatrix(vectors,2UL);
 %
 */
-MagickExport void LeastSquaresAddTerms(double **matrix,double **vectors,
+MagickPrivate void LeastSquaresAddTerms(double **matrix,double **vectors,
   const double *terms,const double *results,const size_t rank,
   const size_t number_vectors)
 {
diff --git a/MagickCore/matrix.h b/MagickCore/matrix.h
index 1ec1df7..b54d113 100644
--- a/MagickCore/matrix.h
+++ b/MagickCore/matrix.h
@@ -26,13 +26,6 @@
   **AcquireMagickMatrix(const size_t,const size_t),
   **RelinquishMagickMatrix(double **,const size_t);
 
-extern MagickExport MagickBooleanType
-  GaussJordanElimination(double **,double **,const size_t,const size_t);
-
-extern MagickExport void
-  LeastSquaresAddTerms(double **,double **,const double *,const double *,
-    const size_t, const size_t);
-
 #if defined(__cplusplus) || defined(c_plusplus)
 }
 #endif
diff --git a/MagickCore/mime.c b/MagickCore/mime.c
index c57b40b..4fa6b47 100644
--- a/MagickCore/mime.c
+++ b/MagickCore/mime.c
@@ -52,6 +52,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/module.c b/MagickCore/module.c
index 77648f2..27103c7 100644
--- a/MagickCore/module.c
+++ b/MagickCore/module.c
@@ -61,6 +61,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #if defined(MAGICKCORE_MODULES_SUPPORT)
 #if defined(MAGICKCORE_LTDL_DELEGATE)
 #include "ltdl.h"
diff --git a/MagickCore/montage.c b/MagickCore/montage.c
index af46c4a..62c4633 100644
--- a/MagickCore/montage.c
+++ b/MagickCore/montage.c
@@ -69,6 +69,7 @@
 #include "MagickCore/resource_.h"
 #include "MagickCore/string_.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 
 /*
diff --git a/MagickCore/morphology.c b/MagickCore/morphology.c
index 0c76037..dabe4b8 100644
--- a/MagickCore/morphology.c
+++ b/MagickCore/morphology.c
@@ -78,6 +78,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 
 
 /*
diff --git a/MagickCore/policy.c b/MagickCore/policy.c
index 27e32ed..747ce52 100644
--- a/MagickCore/policy.c
+++ b/MagickCore/policy.c
@@ -55,6 +55,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 
 /*
diff --git a/MagickCore/property.c b/MagickCore/property.c
index 460c85b..90dce94 100644
--- a/MagickCore/property.c
+++ b/MagickCore/property.c
@@ -75,6 +75,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #include "MagickCore/xml-tree.h"
 
diff --git a/MagickCore/resample.c b/MagickCore/resample.c
index 7da164c..37c1382 100644
--- a/MagickCore/resample.c
+++ b/MagickCore/resample.c
@@ -62,6 +62,7 @@
 #include "MagickCore/transform.h"
 #include "MagickCore/signature-private.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 /*
   EWA Resampling Options
 */
diff --git a/MagickCore/resize.c b/MagickCore/resize.c
index e88ff06..83367a4 100644
--- a/MagickCore/resize.c
+++ b/MagickCore/resize.c
@@ -70,6 +70,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/thread-private.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 #if defined(MAGICKCORE_LQR_DELEGATE)
 #include <lqr.h>
diff --git a/MagickCore/resource.c b/MagickCore/resource.c
index 7d640b7..4601ac5 100644
--- a/MagickCore/resource.c
+++ b/MagickCore/resource.c
@@ -62,6 +62,7 @@
 #include "MagickCore/thread-private.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 
 /*
   Typedef declarations.
diff --git a/MagickCore/token.c b/MagickCore/token.c
index cc74f37..b313d96 100644
--- a/MagickCore/token.c
+++ b/MagickCore/token.c
@@ -50,6 +50,7 @@
 #include "MagickCore/token.h"
 #include "MagickCore/token-private.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 
 /*
   Typedef declaractions.
diff --git a/MagickCore/type.c b/MagickCore/type.c
index aeea227..62e3ce4 100644
--- a/MagickCore/type.c
+++ b/MagickCore/type.c
@@ -58,6 +58,7 @@
 #include "MagickCore/type-private.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xml-tree.h"
 #if defined(MAGICKCORE_FONTCONFIG_DELEGATE)
 # include "fontconfig/fontconfig.h"
diff --git a/MagickCore/utility-private.h b/MagickCore/utility-private.h
new file mode 100644
index 0000000..0cf53ba
--- /dev/null
+++ b/MagickCore/utility-private.h
@@ -0,0 +1,44 @@
+/*
+  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.
+  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.
+
+  MagickCore private utility methods.
+*/
+#ifndef _MAGICKCORE_UTILITY_PRIVATE_H
+#define _MAGICKCORE_UTILITY_PRIVATE_H
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+extern MagickPrivate char
+  **GetPathComponents(const char *,size_t *),
+  **ListFiles(const char *,const char *,size_t *);
+
+extern MagickPrivate MagickBooleanType
+  GetExecutionPath(char *,const size_t);
+
+extern MagickPrivate ssize_t
+  GetMagickPageSize(void);
+
+extern MagickPrivate void
+  ChopPathComponents(char *,const size_t),
+  ExpandFilename(char *),
+  MagickDelay(const MagickSizeType);
+
+#if defined(__cplusplus) || defined(c_plusplus)
+}
+#endif
+
+#endif
diff --git a/MagickCore/utility.c b/MagickCore/utility.c
index b369536..2cd8787 100644
--- a/MagickCore/utility.c
+++ b/MagickCore/utility.c
@@ -58,6 +58,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #if defined(MAGICKCORE_HAVE_PROCESS_H)
 #include <process.h>
 #endif
@@ -564,7 +565,7 @@
 %    o components:  The number of components to chop.
 %
 */
-MagickExport void ChopPathComponents(char *path,const size_t components)
+MagickPrivate void ChopPathComponents(char *path,const size_t components)
 {
   register ssize_t
     i;
@@ -596,7 +597,7 @@
 %      path.
 %
 */
-MagickExport void ExpandFilename(char *path)
+MagickPrivate void ExpandFilename(char *path)
 {
   char
     expand_path[MaxTextExtent];
@@ -937,7 +938,7 @@
 %    o extent: the maximum extent of the path.
 %
 */
-MagickExport MagickBooleanType GetExecutionPath(char *path,const size_t extent)
+MagickPrivate MagickBooleanType GetExecutionPath(char *path,const size_t extent)
 {
   char
     *directory;
@@ -1059,7 +1060,7 @@
 %      ssize_t GetMagickPageSize()
 %
 */
-MagickExport ssize_t GetMagickPageSize(void)
+MagickPrivate ssize_t GetMagickPageSize(void)
 {
   static ssize_t
     page_size = -1;
@@ -1450,7 +1451,7 @@
 %    o number_components:  return the number of components in the list
 %
 */
-MagickExport char **GetPathComponents(const char *path,
+MagickPrivate char **GetPathComponents(const char *path,
   size_t *number_components)
 {
   char
@@ -1682,7 +1683,7 @@
 #endif
 }
 
-MagickExport char **ListFiles(const char *directory,const char *pattern,
+MagickPrivate char **ListFiles(const char *directory,const char *pattern,
   size_t *number_entries)
 {
   char
@@ -1803,7 +1804,7 @@
 %      returning.
 %
 */
-MagickExport void MagickDelay(const MagickSizeType milliseconds)
+MagickPrivate void MagickDelay(const MagickSizeType milliseconds)
 {
   if (milliseconds == 0)
     return;
@@ -1868,7 +1869,6 @@
 %
 %   o  label:  This character string is the label.
 %
-%
 */
 MagickExport size_t MultilineCensus(const char *label)
 {
diff --git a/MagickCore/utility.h b/MagickCore/utility.h
index d8d308f..e22a721 100644
--- a/MagickCore/utility.h
+++ b/MagickCore/utility.h
@@ -36,9 +36,7 @@
 } PathType;
 
 extern MagickExport char
-  *Base64Encode(const unsigned char *,const size_t,size_t *),
-  **GetPathComponents(const char *,size_t *),
-  **ListFiles(const char *,const char *,size_t *);
+  *Base64Encode(const unsigned char *,const size_t,size_t *);
 
 extern MagickExport FILE
   *OpenMagickStream(const char *,const char *);
@@ -52,25 +50,18 @@
   AcquireUniqueSymbolicLink(const char *,char *),
   ExpandFilenames(int *,char ***),
   GetPathAttributes(const char *,void *),
-  GetExecutionPath(char *,const size_t),
   IsMagickTrue(const char *),
   IsPathAccessible(const char *);
 
 extern MagickExport size_t
   MultilineCensus(const char *);
 
-extern MagickExport ssize_t
-  GetMagickPageSize(void);
-
 extern MagickExport unsigned char
   *Base64Decode(const char *, size_t *);
 
 extern MagickExport void
   AppendImageFormat(const char *,char *),
-  ChopPathComponents(char *,const size_t),
-  ExpandFilename(char *),
-  GetPathComponent(const char *,PathType,char *),
-  MagickDelay(const MagickSizeType);
+  GetPathComponent(const char *,PathType,char *);
 
 #if defined(__cplusplus) || defined(c_plusplus)
 }
diff --git a/MagickCore/version.c b/MagickCore/version.c
index 869ccfb..579191a 100644
--- a/MagickCore/version.c
+++ b/MagickCore/version.c
@@ -45,6 +45,7 @@
 #include "MagickCore/option.h"
 #include "MagickCore/string_.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/version.h"
 
 /*
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 61157d3..c85ce25 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -34,7 +34,7 @@
 #define MagickLibAddendum  "-0"
 #define MagickLibInterface  5
 #define MagickLibMinInterface  5
-#define MagickReleaseDate  "2011-09-02"
+#define MagickReleaseDate  "2011-09-03"
 #define MagickChangeDate   "20110801"
 #define MagickAuthoritativeURL  "http://www.imagemagick.org"
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
diff --git a/MagickCore/widget.c b/MagickCore/widget.c
index 6d745d1..708d551 100644
--- a/MagickCore/widget.c
+++ b/MagickCore/widget.c
@@ -52,6 +52,7 @@
 #include "MagickCore/string_.h"
 #include "MagickCore/token.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/xwindow-private.h"
 #include "MagickCore/widget.h"
 #include "MagickCore/widget-private.h"
diff --git a/MagickCore/xml-tree.c b/MagickCore/xml-tree.c
index f7395c5..8baa482 100644
--- a/MagickCore/xml-tree.c
+++ b/MagickCore/xml-tree.c
@@ -59,6 +59,7 @@
 #include "MagickCore/token-private.h"
 #include "MagickCore/xml-tree.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 
 /*
   Define declarations.
diff --git a/MagickCore/xwindow.c b/MagickCore/xwindow.c
index 262f521..4304c16 100644
--- a/MagickCore/xwindow.c
+++ b/MagickCore/xwindow.c
@@ -76,6 +76,7 @@
 #include "MagickCore/string-private.h"
 #include "MagickCore/transform.h"
 #include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
 #include "MagickCore/widget.h"
 #include "MagickCore/widget-private.h"
 #include "MagickCore/xwindow.h"
diff --git a/Makefile.in b/Makefile.in
index f8f5b55..10f99cf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -407,19 +407,20 @@
 	MagickCore/exception-private.h MagickCore/feature.c \
 	MagickCore/feature.h MagickCore/fourier.c MagickCore/fourier.h \
 	MagickCore/fx.c MagickCore/fx.h MagickCore/fx-private.h \
-	MagickCore/gem.c MagickCore/gem.h MagickCore/geometry.c \
-	MagickCore/geometry.h MagickCore/hashmap.c \
-	MagickCore/hashmap.h MagickCore/histogram.c \
-	MagickCore/histogram.h MagickCore/identify.c \
-	MagickCore/identify.h MagickCore/image.c MagickCore/image.h \
-	MagickCore/image-private.h MagickCore/image-view.c \
-	MagickCore/image-view.h MagickCore/layer.c MagickCore/layer.h \
-	MagickCore/list.c MagickCore/list.h MagickCore/locale.c \
-	MagickCore/locale_.h MagickCore/log.c MagickCore/log.h \
-	MagickCore/mac.h MagickCore/magic.c MagickCore/magic.h \
-	MagickCore/magick.c MagickCore/magick-config.h \
-	MagickCore/magick-type.h MagickCore/magick.h \
-	MagickCore/matrix.c MagickCore/matrix.h MagickCore/memory.c \
+	MagickCore/gem.c MagickCore/gem.h MagickCore/gem-private.h \
+	MagickCore/geometry.c MagickCore/geometry.h \
+	MagickCore/hashmap.c MagickCore/hashmap.h \
+	MagickCore/histogram.c MagickCore/histogram.h \
+	MagickCore/identify.c MagickCore/identify.h MagickCore/image.c \
+	MagickCore/image.h MagickCore/image-private.h \
+	MagickCore/image-view.c MagickCore/image-view.h \
+	MagickCore/layer.c MagickCore/layer.h MagickCore/list.c \
+	MagickCore/list.h MagickCore/locale.c MagickCore/locale_.h \
+	MagickCore/log.c MagickCore/log.h MagickCore/mac.h \
+	MagickCore/magic.c MagickCore/magic.h MagickCore/magick.c \
+	MagickCore/magick-config.h MagickCore/magick-type.h \
+	MagickCore/magick.h MagickCore/matrix.c MagickCore/matrix.h \
+	MagickCore/matrix-private.h MagickCore/memory.c \
 	MagickCore/memory_.h MagickCore/methods.h MagickCore/mime.c \
 	MagickCore/mime.h MagickCore/module.c MagickCore/module.h \
 	MagickCore/monitor.c MagickCore/monitor.h \
@@ -461,7 +462,8 @@
 	MagickCore/token-private.h MagickCore/transform.c \
 	MagickCore/transform.h MagickCore/threshold.c \
 	MagickCore/threshold.h MagickCore/type.c MagickCore/type.h \
-	MagickCore/utility.c MagickCore/utility.h MagickCore/version.c \
+	MagickCore/utility.c MagickCore/utility.h \
+	MagickCore/utility-private.h MagickCore/version.c \
 	MagickCore/version.h MagickCore/vms.h MagickCore/widget.c \
 	MagickCore/widget.h MagickCore/widget-private.h \
 	MagickCore/xml-tree.c MagickCore/xml-tree.h \
@@ -3934,6 +3936,7 @@
 	MagickCore/fx-private.h \
 	MagickCore/gem.c \
 	MagickCore/gem.h \
+	MagickCore/gem-private.h \
 	MagickCore/geometry.c \
 	MagickCore/geometry.h \
 	MagickCore/hashmap.c \
@@ -3964,6 +3967,7 @@
 	MagickCore/magick.h \
 	MagickCore/matrix.c \
 	MagickCore/matrix.h \
+	MagickCore/matrix-private.h \
 	MagickCore/memory.c \
 	MagickCore/memory_.h \
 	MagickCore/methods.h \
@@ -4058,6 +4062,7 @@
 	MagickCore/type.h \
 	MagickCore/utility.c \
 	MagickCore/utility.h \
+	MagickCore/utility-private.h \
 	MagickCore/version.c \
 	MagickCore/version.h \
 	MagickCore/vms.h \
@@ -4192,12 +4197,14 @@
 	MagickCore/draw-private.h \
 	MagickCore/exception-private.h \
 	MagickCore/fx-private.h \
+	MagickCore/gem-private.h \
 	MagickCore/image-private.h \
  	MagickCore/locale-private.h \
  	MagickCore/log-private.h \
 	MagickCore/mac.h \
  	MagickCore/magick-private.h \
  	MagickCore/magic-private.h \
+	MagickCore/matrix-private.h \
  	MagickCore/methods-private.h \
  	MagickCore/mime-private.h \
 	MagickCore/mime-private.h \
@@ -4226,6 +4233,7 @@
 	MagickCore/thread-private.h \
 	MagickCore/token-private.h \
  	MagickCore/type-private.h \
+	MagickCore/utility-private.h \
 	MagickCore/vms.h \
  	MagickCore/widget-private.h \
 	MagickCore/xwindow-private.h
diff --git a/filters/analyze.c b/filters/analyze.c
index 4ff40f3..4cb46a3 100644
--- a/filters/analyze.c
+++ b/filters/analyze.c
@@ -165,7 +165,7 @@
         }
       for (x=0; x < (ssize_t) image->columns; x++)
       {
-        ConvertRGBToHSB(GetPixelRed(image,p),GetPixelGreen(image,p),
+        ConvertRGBToHSL(GetPixelRed(image,p),GetPixelGreen(image,p),
           GetPixelBlue(image,p),&hue,&saturation,&brightness);
         brightness*=QuantumRange;
         brightness_sum_x+=brightness;