diff --git a/src/zmapControl/zmapControlWindowButtons.c b/src/zmapControl/zmapControlWindowButtons.c
index c92ff0b5f8ec3f7acc729942d1eaa74c1f4b76b4..406ccaeae7da28f43dc3af9db3fad9ef4e5536eb 100755
--- a/src/zmapControl/zmapControlWindowButtons.c
+++ b/src/zmapControl/zmapControlWindowButtons.c
@@ -26,15 +26,15 @@
  * Description: 
  * Exported functions: See XXXXXXXXXXXXX.h
  * HISTORY:
- * Last edited: Jul  1 09:53 2004 (edgrif)
+ * Last edited: Jul  2 14:40 2004 (rnc)
  * Created: Thu Jul 24 14:36:27 2003 (edgrif)
- * CVS info:   $Id: zmapControlWindowButtons.c,v 1.5 2004-07-01 09:25:28 edgrif Exp $
+ * CVS info:   $Id: zmapControlWindowButtons.c,v 1.6 2004-07-02 13:47:49 rnc Exp $
  *-------------------------------------------------------------------
  */
 
 #include <string.h>
 #include <zmapControl_P.h>
-#include <../zmapWindow/zmapsplit.h>
+#include <zmapControlSplit.h>
 
 static void newCB(GtkWidget *widget, gpointer cb_data) ;
 static void loadCB(GtkWidget *widget, gpointer cb_data) ;
@@ -115,9 +115,15 @@ GtkWidget *zmapControlWindowMakeButtons(ZMap zmap)
 static void loadCB(GtkWidget *widget, gpointer cb_data)
 {
   ZMap zmap = (ZMap)cb_data ;
+  ZMapFeatureContext feature_context ;
 
   zmapControlLoadCB(zmap) ;
 
+  // only here temporarily until we find out why it's not working in zmapWindow.c
+  feature_context = testGetGFF() ;			    /* Data read from a file... */
+
+  zmapWindowDrawFeatures(zmap->zMapWindow, feature_context);
+
   return ;
 }
 
@@ -144,6 +150,10 @@ static void newCB(GtkWidget *widget, gpointer cb_data)
 static void quitCB(GtkWidget *widget, gpointer cb_data)
 {
   ZMap zmap = (ZMap)cb_data ;
+  ZMapWindow window = zmap->zMapWindow;
+
+  if (zMapWindowGetPanesTree(window))
+    g_node_destroy(zMapWindowGetPanesTree(window));
 
   zmapControlTopLevelKillCB(zmap) ;
 
diff --git a/src/zmapControl/zmapControl_P.h b/src/zmapControl/zmapControl_P.h
index 3d6c3ef0c275179a9dd63652b36def4e4966f4bd..e62eeea648e596eded583b3302e149b248282ea2 100755
--- a/src/zmapControl/zmapControl_P.h
+++ b/src/zmapControl/zmapControl_P.h
@@ -25,9 +25,9 @@
  * Description: Private header for interface that creates/manages/destroys
  *              instances of ZMaps.
  * HISTORY:
- * Last edited: Jul  1 09:58 2004 (edgrif)
+ * Last edited: Jul  2 14:06 2004 (rnc)
  * Created: Thu Jul 24 14:39:06 2003 (edgrif)
- * CVS info:   $Id: zmapControl_P.h,v 1.2 2004-07-01 09:25:28 edgrif Exp $
+ * CVS info:   $Id: zmapControl_P.h,v 1.3 2004-07-02 13:47:24 rnc Exp $
  *-------------------------------------------------------------------
  */
 #ifndef ZMAP_CONTROL_P_H
@@ -38,8 +38,6 @@
 #include <ZMap/zmapView.h>
 #include <ZMap/zmapControl.h>
 
-/* this should not be here........ */
-#include <../zmapWindow/zmapWindow_P.h>
 
 
 /* The overall state of the zmap, we need this because both the zmap window and the its threads
@@ -89,17 +87,58 @@ typedef struct _ZMapStruct
 
 
 
+typedef struct _ZMapPaneStruct {
+  /* Data associated with one scrolling pane. */
+  ZMapWindow   window;     /* parent */
+
+  GtkWidget   *graphWidget;
+  GtkWidget   *vbox;
+  GtkWidget   *pane;
+  GtkWidget   *frame;
+  GtkWidget   *scrolledWindow;
+  FooCanvas   *canvas;     /* where we paint the display */
+  FooCanvasItem *background;
+  FooCanvasItem *group;
+  GtkWidget   *combo;
+  int          basesPerLine;
+  InvarCoord   centre;
+  int          graphHeight;
+  int          dragBox, scrollBox;
+  GPtrArray    cols;
+  GArray       *box2seg, *box2col;
+
+  int          DNAwidth;
+  double       zoomFactor;
+  int          step_increment;
+} ZMapPaneStruct;
+
+
 /* Functions internal to zmapControl. */
-gboolean zmapControlWindowCreate(ZMap zmap, char *zmap_id) ;
+gboolean   zmapControlWindowCreate     (ZMap zmap, char *zmap_id) ;
 GtkWidget *zmapControlWindowMakeMenuBar(ZMap zmap) ;
 GtkWidget *zmapControlWindowMakeButtons(ZMap zmap) ;
-GtkWidget *zmapControlWindowMakeFrame(ZMap zmap) ;
-void zmapControlWindowDestroy(ZMap zmap) ;
+GtkWidget *zmapControlWindowMakeFrame  (ZMap zmap) ;
+void       zmapControlWindowDestroy    (ZMap zmap) ;
 
 void zmapControlTopLevelKillCB(ZMap zmap) ;
-void zmapControlLoadCB(ZMap zmap) ;
-void zmapControlResetCB(ZMap zmap) ;
-void zmapControlNewCB(ZMap zmap, char *testing_text) ;
-
+void zmapControlLoadCB        (ZMap zmap) ;
+void zmapControlResetCB       (ZMap zmap) ;
+void zmapControlNewCB         (ZMap zmap, char *testing_text) ;
+
+gboolean zMapDisplay(ZMap        zmap,
+		     Activate_cb act_cb,
+		     Calc_cb     calc_cb,
+		     void       *region,
+		     char       *seqspec, 
+		     char       *fromspec, 
+		     gboolean        isOldGraph);
+
+void  createZMapWindow (ZMapWindow window);
+
+void  addPane        (ZMapWindow  window, char orientation);
+void  drawNavigator  (ZMapWindow window);
+void  drawWindow     (ZMapPane pane);
+void  zMapZoomToolbar(ZMapWindow window);
+void  navScale       (FooCanvas *canvas, float offset, int start, int end);
 
 #endif /* !ZMAP_CONTROL_P_H */