diff --git a/src/Makefile.am b/src/Makefile.am
index 27c69a7..9311ab7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -77,7 +77,6 @@
 HBHEADERS += \
 	hb-ot.h \
 	hb-ot-layout.h \
-	hb-ot-shape.h \
 	hb-ot-tag.h \
 	$(NULL)
 endif
@@ -118,17 +117,17 @@
 HBHEADERS += hb-ft.h
 endif
 
-if HAVE_GRAPHITE
-HBCFLAGS += $(GRAPHITE_CFLAGS)
-HBLIBS   += $(GRAPHITE_LIBS)
-HBSOURCES += hb-graphite2.cc
+if HAVE_GRAPHITE2
+HBCFLAGS += $(GRAPHITE2_CFLAGS)
+HBLIBS   += $(GRAPHITE2_LIBS)
+HBSOURCES += hb-graphite2.cc hb-graphite2-private.hh
 HBHEADERS += hb-graphite2.h
 endif
 
 if HAVE_UNISCRIBE
 HBCFLAGS += $(UNISCRIBE_CFLAGS)
 HBLIBS   += $(UNISCRIBE_LIBS)
-HBSOURCES += hb-uniscribe.cc
+HBSOURCES += hb-uniscribe.cc hb-uniscribe-private.hh
 HBHEADERS += hb-uniscribe.h
 endif
 
diff --git a/src/hb-fallback-shape-private.hh b/src/hb-fallback-shape-private.hh
index d0beb16..159456d 100644
--- a/src/hb-fallback-shape-private.hh
+++ b/src/hb-fallback-shape-private.hh
@@ -36,11 +36,10 @@
 
 
 HB_INTERNAL hb_bool_t
-hb_fallback_shape (hb_font_t          *font,
-		   hb_buffer_t        *buffer,
-		   const hb_feature_t *features,
-		   unsigned int        num_features,
-		   const char * const *shaper_options);
+_hb_fallback_shape (hb_font_t          *font,
+		    hb_buffer_t        *buffer,
+		    const hb_feature_t *features,
+		    unsigned int        num_features);
 
 
 HB_END_DECLS
diff --git a/src/hb-fallback-shape.cc b/src/hb-fallback-shape.cc
index 2fd527f..6822d2e 100644
--- a/src/hb-fallback-shape.cc
+++ b/src/hb-fallback-shape.cc
@@ -29,11 +29,10 @@
 #include "hb-buffer-private.hh"
 
 hb_bool_t
-hb_fallback_shape (hb_font_t          *font,
-		   hb_buffer_t        *buffer,
-		   const hb_feature_t *features,
-		   unsigned int        num_features,
-		   const char * const *shaper_options)
+_hb_fallback_shape (hb_font_t          *font,
+		    hb_buffer_t        *buffer,
+		    const hb_feature_t *features,
+		    unsigned int        num_features)
 {
   buffer->guess_properties ();
 
diff --git a/src/hb-ot-shape.h b/src/hb-graphite2-private.hh
similarity index 69%
copy from src/hb-ot-shape.h
copy to src/hb-graphite2-private.hh
index cc18be6..644ea75 100644
--- a/src/hb-ot-shape.h
+++ b/src/hb-graphite2-private.hh
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010  Red Hat, Inc.
+ * Copyright © 2012  Google, Inc.
  *
  *  This is part of HarfBuzz, a text shaping library.
  *
@@ -21,28 +21,22 @@
  * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  *
- * Red Hat Author(s): Behdad Esfahbod
+ * Google Author(s): Behdad Esfahbod
  */
 
-#ifndef HB_OT_H_IN
-#error "Include <hb-ot.h> instead."
-#endif
+#ifndef HB_GRAPHITE2_PRIVATE_HH
+#define HB_GRAPHITE2_PRIVATE_HH
 
-#ifndef HB_OT_SHAPE_H
-#define HB_OT_SHAPE_H
+#include "hb-private.hh"
 
-HB_BEGIN_DECLS
-
-#include "hb.h"
-
-hb_bool_t
-hb_ot_shape (hb_font_t          *font,
-	     hb_buffer_t        *buffer,
-	     const hb_feature_t *features,
-	     unsigned int        num_features,
-	     const char * const *shaper_options);
+#include "hb-graphite2.h"
 
 
-HB_END_DECLS
+HB_INTERNAL hb_bool_t
+_hb_graphite2_shape (hb_font_t          *font,
+		     hb_buffer_t        *buffer,
+		     const hb_feature_t *features,
+		     unsigned int        num_features);
 
-#endif /* HB_OT_SHAPE_H */
+
+#endif /* HB_GRAPHITE2_PRIVATE_HH */
diff --git a/src/hb-graphite2.cc b/src/hb-graphite2.cc
index 0675759..64f22f7 100644
--- a/src/hb-graphite2.cc
+++ b/src/hb-graphite2.cc
@@ -212,11 +212,10 @@
 
 
 hb_bool_t
-hb_graphite_shape (hb_font_t          *font,
+_hb_graphite_shape (hb_font_t          *font,
 		   hb_buffer_t        *buffer,
 		   const hb_feature_t *features,
-		   unsigned int        num_features,
-		   const char * const *shaper_options)
+		   unsigned int        num_features)
 {
 
   buffer->guess_properties ();
diff --git a/src/hb-graphite2.h b/src/hb-graphite2.h
index 3eba9e0..2d16cc8 100644
--- a/src/hb-graphite2.h
+++ b/src/hb-graphite2.h
@@ -33,13 +33,6 @@
 
 #define HB_GRAPHITE_TAG_Silf HB_TAG('S','i','l','f')
 
-hb_bool_t
-hb_graphite_shape (hb_font_t          *font,
-		   hb_buffer_t        *buffer,
-		   const hb_feature_t *features,
-		   unsigned int        num_features,
-		   const char * const *shaper_options);
-
 /* TODO add gr_font/face etc getters and other glue API */
 
 HB_END_DECLS
diff --git a/src/hb-ot-shape-private.hh b/src/hb-ot-shape-private.hh
index 41afd68..2ceb6f2 100644
--- a/src/hb-ot-shape-private.hh
+++ b/src/hb-ot-shape-private.hh
@@ -29,8 +29,6 @@
 
 #include "hb-private.hh"
 
-#include "hb-ot-shape.h"
-
 #include "hb-ot-map-private.hh"
 #include "hb-ot-shape-complex-private.hh"
 #include "hb-ot-shape-normalize-private.hh"
@@ -96,6 +94,12 @@
 
 HB_INTERNAL void _hb_set_unicode_props (hb_buffer_t *buffer);
 
+HB_INTERNAL hb_bool_t
+_hb_ot_shape (hb_font_t          *font,
+	      hb_buffer_t        *buffer,
+	      const hb_feature_t *features,
+	      unsigned int        num_features);
+
 #include "hb-ot-shape-complex-private.hh"
 
 #endif /* HB_OT_SHAPE_PRIVATE_HH */
diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
index 92481ed..4b20cb3 100644
--- a/src/hb-ot-shape.cc
+++ b/src/hb-ot-shape.cc
@@ -419,11 +419,10 @@
 }
 
 hb_bool_t
-hb_ot_shape (hb_font_t          *font,
-	     hb_buffer_t        *buffer,
-	     const hb_feature_t *features,
-	     unsigned int        num_features,
-	     const char * const *shaper_options)
+_hb_ot_shape (hb_font_t          *font,
+	      hb_buffer_t        *buffer,
+	      const hb_feature_t *features,
+	      unsigned int        num_features)
 {
   hb_ot_shape_plan_t plan;
 
@@ -434,5 +433,3 @@
 
   return TRUE;
 }
-
-
diff --git a/src/hb-ot.h b/src/hb-ot.h
index a825a86..a4cb371 100644
--- a/src/hb-ot.h
+++ b/src/hb-ot.h
@@ -31,7 +31,6 @@
 #include "hb.h"
 
 #include "hb-ot-layout.h"
-#include "hb-ot-shape.h"
 #include "hb-ot-tag.h"
 
 HB_BEGIN_DECLS
diff --git a/src/hb-shape.cc b/src/hb-shape.cc
index 9357f81..3d5f56c 100644
--- a/src/hb-shape.cc
+++ b/src/hb-shape.cc
@@ -31,30 +31,29 @@
 #include "hb-buffer-private.hh"
 
 #ifdef HAVE_GRAPHITE
-#include "hb-graphite2.h"
+#include "hb-graphite2-private.hh"
 #endif
 #ifdef HAVE_UNISCRIBE
-# include "hb-uniscribe.h"
+# include "hb-uniscribe-private.hh"
 #endif
 #ifdef HAVE_OT
-# include "hb-ot-shape.h"
+# include "hb-ot-shape-private.hh"
 #endif
 #include "hb-fallback-shape-private.hh"
 
 typedef hb_bool_t (*hb_shape_func_t) (hb_font_t          *font,
 				      hb_buffer_t        *buffer,
 				      const hb_feature_t *features,
-				      unsigned int        num_features,
-				      const char * const *shaper_options);
+				      unsigned int        num_features);
 
-#define HB_SHAPER_IMPLEMENT(name) {#name, hb_##name##_shape}
+#define HB_SHAPER_IMPLEMENT(name) {#name, _hb_##name##_shape}
 static struct hb_shaper_pair_t {
   char name[16];
   hb_shape_func_t func;
 } shapers[] = {
   /* v--- Add new shapers in the right place here */
 #ifdef HAVE_GRAPHITE
-  HB_SHAPER_IMPLEMENT (graphite),
+  HB_SHAPER_IMPLEMENT (graphite2),
 #endif
 #ifdef HAVE_UNISCRIBE
   HB_SHAPER_IMPLEMENT (uniscribe),
@@ -120,22 +119,17 @@
 	       hb_buffer_t        *buffer,
 	       const hb_feature_t *features,
 	       unsigned int        num_features,
-	       const char * const *shaper_options,
 	       const char * const *shaper_list)
 {
   if (likely (!shaper_list)) {
     for (unsigned int i = 0; i < ARRAY_LENGTH (shapers); i++)
-      if (likely (shapers[i].func (font, buffer,
-				   features, num_features,
-				   shaper_options)))
+      if (likely (shapers[i].func (font, buffer, features, num_features)))
         return TRUE;
   } else {
     while (*shaper_list) {
       for (unsigned int i = 0; i < ARRAY_LENGTH (shapers); i++)
 	if (0 == strcmp (*shaper_list, shapers[i].name)) {
-	  if (likely (shapers[i].func (font, buffer,
-				       features, num_features,
-				       shaper_options)))
+	  if (likely (shapers[i].func (font, buffer, features, num_features)))
 	    return TRUE;
 	  break;
 	}
@@ -151,5 +145,5 @@
 	  const hb_feature_t  *features,
 	  unsigned int         num_features)
 {
-  hb_shape_full (font, buffer, features, num_features, NULL, NULL);
+  hb_shape_full (font, buffer, features, num_features, NULL);
 }
diff --git a/src/hb-shape.h b/src/hb-shape.h
index 99c24ab..1a0d6cf 100644
--- a/src/hb-shape.h
+++ b/src/hb-shape.h
@@ -57,7 +57,6 @@
 	       hb_buffer_t        *buffer,
 	       const hb_feature_t *features,
 	       unsigned int        num_features,
-	       const char * const *shaper_options,
 	       const char * const *shaper_list);
 
 const char **
diff --git a/src/hb-ot-shape.h b/src/hb-uniscribe-private.hh
similarity index 69%
rename from src/hb-ot-shape.h
rename to src/hb-uniscribe-private.hh
index cc18be6..239ab0c 100644
--- a/src/hb-ot-shape.h
+++ b/src/hb-uniscribe-private.hh
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2010  Red Hat, Inc.
+ * Copyright © 2012  Google, Inc.
  *
  *  This is part of HarfBuzz, a text shaping library.
  *
@@ -21,28 +21,22 @@
  * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
  *
- * Red Hat Author(s): Behdad Esfahbod
+ * Google Author(s): Behdad Esfahbod
  */
 
-#ifndef HB_OT_H_IN
-#error "Include <hb-ot.h> instead."
-#endif
+#ifndef HB_UNISCRIBE_PRIVATE_HH
+#define HB_UNISCRIBE_PRIVATE_HH
 
-#ifndef HB_OT_SHAPE_H
-#define HB_OT_SHAPE_H
+#include "hb-private.hh"
 
-HB_BEGIN_DECLS
-
-#include "hb.h"
-
-hb_bool_t
-hb_ot_shape (hb_font_t          *font,
-	     hb_buffer_t        *buffer,
-	     const hb_feature_t *features,
-	     unsigned int        num_features,
-	     const char * const *shaper_options);
+#include "hb-uniscribe.h"
 
 
-HB_END_DECLS
+HB_INTERNAL hb_bool_t
+_hb_uniscribe_shape (hb_font_t          *font,
+		     hb_buffer_t        *buffer,
+		     const hb_feature_t *features,
+		     unsigned int        num_features);
 
-#endif /* HB_OT_SHAPE_H */
+
+#endif /* HB_UNISCRIBE_PRIVATE_HH */
diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc
index ce86074..41ce5e6 100644
--- a/src/hb-uniscribe.cc
+++ b/src/hb-uniscribe.cc
@@ -223,11 +223,10 @@
 
 
 hb_bool_t
-hb_uniscribe_shape (hb_font_t          *font,
-		    hb_buffer_t        *buffer,
-		    const hb_feature_t *features,
-		    unsigned int        num_features,
-		    const char * const *shaper_options)
+_hb_uniscribe_shape (hb_font_t          *font,
+		     hb_buffer_t        *buffer,
+		     const hb_feature_t *features,
+		     unsigned int        num_features)
 {
   buffer->guess_properties ();
 
diff --git a/src/hb-uniscribe.h b/src/hb-uniscribe.h
index 7bf8090..216610e 100644
--- a/src/hb-uniscribe.h
+++ b/src/hb-uniscribe.h
@@ -35,13 +35,6 @@
 HB_BEGIN_DECLS
 
 
-hb_bool_t
-hb_uniscribe_shape (hb_font_t          *font,
-		    hb_buffer_t        *buffer,
-		    const hb_feature_t *features,
-		    unsigned int        num_features,
-		    const char * const *shaper_options);
-
 LOGFONTW *
 hb_uniscribe_font_get_logfontw (hb_font_t *font);
 
