diff --git a/src/zmapUtils/zmapConfigLoader.c b/src/zmapUtils/zmapConfigLoader.c
deleted file mode 100755
index 185db2f042637318fe0c753ebb538de22ff222f2..0000000000000000000000000000000000000000
--- a/src/zmapUtils/zmapConfigLoader.c
+++ /dev/null
@@ -1,683 +0,0 @@
-/*  File: zmapConfigLoader.c
- *  Author: Roy Storey (rds@sanger.ac.uk)
- *  Copyright (c) 2008: Genome Research Ltd.
- *-------------------------------------------------------------------
- * ZMap is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * 
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- * or see the on-line version at http://www.gnu.org/copyleft/gpl.txt
- *-------------------------------------------------------------------
- * This file is part of the ZMap genome database package
- * originally written by:
- *
- * 	Ed Griffiths (Sanger Institute, UK) edgrif@sanger.ac.uk,
- *      Roy Storey (Sanger Institute, UK) rds@sanger.ac.uk
- *
- * Description: Holds functions for reading config stanzas for various
- *              different parts of code....ummm, not well compartmentalised.
- *
- * Exported functions: See ZMap/zmapConfigLoader.h
- *              
- * HISTORY:
- * Last edited: Nov  6 13:34 2009 (edgrif)
- * Created: Thu Sep 25 14:12:05 2008 (rds)
- * CVS info:   $Id: zmapConfigLoader.c,v 1.14 2009-12-07 12:53:42 mh17 Exp $
- *-------------------------------------------------------------------
- */
-
-#include <ZMap/zmapUtils.h>
-#include <ZMap/zmapStyle.h>
-#include <ZMap/zmapConfigLoader.h>
-
-
-static ZMapConfigIniContextKeyEntry get_app_group_data(char **stanza_name, char **stanza_type);
-static ZMapConfigIniContextKeyEntry get_logging_group_data(char **stanza_name, char **stanza_type);
-static ZMapConfigIniContextKeyEntry get_debug_group_data(char **stanza_name, char **stanza_type);
-static ZMapConfigIniContextKeyEntry get_style_group_data(char **stanza_name, char **stanza_type) ;
-static ZMapConfigIniContextKeyEntry get_source_group_data(char **stanza_name, char **stanza_type);
-static ZMapConfigIniContextKeyEntry get_window_group_data(char **stanza_name, char **stanza_type);
-static ZMapConfigIniContextKeyEntry get_blixem_group_data(char **stanza_name, char **stanza_type);
-static gpointer create_config_source();
-static void free_source_list_item(gpointer list_data, gpointer unused_data);
-static void source_set_property(char *current_stanza_name, char *key, GType type,
-				gpointer parent_data, GValue *property_value) ;
-
-
-static gpointer create_config_style() ;
-static void style_set_property(char *current_stanza_name, char *key, GType type,
-			       gpointer parent_data, GValue *property_value) ;
-static void free_style_list_item(gpointer list_data, gpointer unused_data)  ;
-
-
-
-
-
-ZMapConfigIniContext zMapConfigIniContextProvide(void)
-{
-  ZMapConfigIniContext context = NULL;
-  
-  if((context = zMapConfigIniContextCreate()))
-    {
-      ZMapConfigIniContextKeyEntry stanza_group = NULL;
-      char *stanza_name, *stanza_type;
-      
-      if((stanza_group = get_logging_group_data(&stanza_name, &stanza_type)))
-	zMapConfigIniContextAddGroup(context, stanza_name, 
-				     stanza_type, stanza_group);
-
-      if((stanza_group = get_app_group_data(&stanza_name, &stanza_type)))
-	zMapConfigIniContextAddGroup(context, stanza_name, 
-				     stanza_type, stanza_group);
-
-      if((stanza_group = get_debug_group_data(&stanza_name, &stanza_type)))
-	zMapConfigIniContextAddGroup(context, stanza_name, 
-				     stanza_type, stanza_group);
-
-      if((stanza_group = get_source_group_data(&stanza_name, &stanza_type)))
-	zMapConfigIniContextAddGroup(context, stanza_name, 
-				     stanza_type, stanza_group);
-
-      if((stanza_group = get_window_group_data(&stanza_name, &stanza_type)))
-	zMapConfigIniContextAddGroup(context, stanza_name, 
-				     stanza_type, stanza_group);
-
-      if((stanza_group = get_blixem_group_data(&stanza_name, &stanza_type)))
-	zMapConfigIniContextAddGroup(context, stanza_name, 
-				     stanza_type, stanza_group);
-    }
-  
-  return context;
-}
-
-
-ZMapConfigIniContext zMapConfigIniContextProvideNamed(char *stanza_name_in)
-{
-  ZMapConfigIniContext context = NULL;
-  
-  zMapAssert(stanza_name_in && *stanza_name_in) ;
-
-  if ((context = zMapConfigIniContextCreate()))
-    {
-      ZMapConfigIniContextKeyEntry stanza_group = NULL;
-      char *stanza_name, *stanza_type;
-
-
-      if (g_ascii_strcasecmp(stanza_name_in, ZMAPSTANZA_STYLE_CONFIG) == 0)
-	{
-	  if((stanza_group = get_source_group_data(&stanza_name, &stanza_type)))
-	    zMapConfigIniContextAddGroup(context, stanza_name, 
-					 stanza_type, stanza_group);
-
-	  if ((stanza_group = get_style_group_data(&stanza_name, &stanza_type)))
-	    zMapConfigIniContextAddGroup(context, stanza_name, 
-					 stanza_type, stanza_group) ;
-	}
-
-      /* OK...NOW ADD THE OTHERS... */
-    }
-
-
-  return context;
-}
-
-
-
-GList *zMapConfigIniContextGetSources(ZMapConfigIniContext context)
-{
-  GList *list = NULL;
-
-  list = zMapConfigIniContextGetReferencedStanzas(context, create_config_source,
-						  ZMAPSTANZA_APP_CONFIG, 
-						  ZMAPSTANZA_APP_CONFIG, 
-						  "sources", "source");
-  
-  return list;
-}
-
-GList *zMapConfigIniContextGetNamed(ZMapConfigIniContext context, char *stanza_name)
-{
-  GList *list = NULL;
-
-  zMapAssert(stanza_name && *stanza_name) ;
-
-  if (g_ascii_strcasecmp(stanza_name, ZMAPSTANZA_STYLE_CONFIG) == 0)
-    {
-      list = zMapConfigIniContextGetReferencedStanzas(context, create_config_style,
-						      ZMAPSTANZA_SOURCE_CONFIG, 
-						      ZMAPSTANZA_SOURCE_CONFIG, 
-						      "styles", "style") ;
-    }
-  
-  return list ;
-}
-
-GList *zMapConfigIniContextGetStyleList(ZMapConfigIniContext context, char *styles_list) 
-{
-  GList *list = NULL;
-
-  zMapAssert(styles_list && *styles_list) ;
-
-  list = zMapConfigIniContextGetListedStanzas(context, create_config_style,styles_list,"style") ;
-  return list ;
-}
-
-
-void zMapConfigSourcesFreeList(GList *config_sources_list)
-{
-  g_list_foreach(config_sources_list, free_source_list_item, NULL);
-  g_list_free(config_sources_list);
-
-  return ;
-}
-
-void zMapConfigStylesFreeList(GList *config_styles_list)
-{
-  g_list_foreach(config_styles_list, free_style_list_item, NULL);
-  g_list_free(config_styles_list);
-
-  return ;
-}
-
-
-
-static ZMapConfigIniContextKeyEntry get_app_group_data(char **stanza_name, char **stanza_type)
-{
-  static ZMapConfigIniContextKeyEntryStruct stanza_keys[] = {
-    { ZMAPSTANZA_APP_MAINWINDOW,   G_TYPE_BOOLEAN, NULL, FALSE },
-    { ZMAPSTANZA_APP_SEQUENCE,     G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_APP_EXIT_TIMEOUT, G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_APP_HELP_URL,     G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_APP_LOCALE,       G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_APP_COOKIE_JAR,   G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_APP_PFETCH_MODE,  G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_APP_PFETCH_LOCATION, G_TYPE_STRING, NULL, FALSE },
-    { ZMAPSTANZA_APP_SCRIPTS,      G_TYPE_STRING, NULL, FALSE },
-    { ZMAPSTANZA_APP_DATA,         G_TYPE_STRING, NULL, FALSE },
-    {NULL}
-  };
-  static char *name = ZMAPSTANZA_APP_CONFIG;
-  static char *type = ZMAPSTANZA_APP_CONFIG;
-
-  if(stanza_name)
-    *stanza_name = name;
-  if(stanza_type)
-    *stanza_type = type;
-
-  return stanza_keys;
-}
-
-static ZMapConfigIniContextKeyEntry get_logging_group_data(char **stanza_name, char **stanza_type)
-{
-  static ZMapConfigIniContextKeyEntryStruct stanza_keys[] = {
-    { ZMAPSTANZA_LOG_LOGGING,   G_TYPE_BOOLEAN, FALSE },
-    { ZMAPSTANZA_LOG_FILE,      G_TYPE_BOOLEAN, FALSE },
-    { ZMAPSTANZA_LOG_SHOW_CODE, G_TYPE_BOOLEAN, FALSE },
-    { ZMAPSTANZA_LOG_DIRECTORY, G_TYPE_STRING,  FALSE },
-    { ZMAPSTANZA_LOG_FILENAME,  G_TYPE_STRING,  FALSE },
-    { ZMAPSTANZA_LOG_SHOW_CODE, G_TYPE_STRING,  FALSE },
-    {NULL}
-  };
-  static char *name = ZMAPSTANZA_LOG_CONFIG;
-  static char *type = ZMAPSTANZA_LOG_CONFIG;
-
-  if(stanza_name)
-    *stanza_name = name;
-  if(stanza_type)
-    *stanza_type = type;
-
-  return stanza_keys;
-}
-
-static ZMapConfigIniContextKeyEntry get_debug_group_data(char **stanza_name, char **stanza_type)
-{
-  static ZMapConfigIniContextKeyEntryStruct stanza_keys[] = {
-    { ZMAPSTANZA_DEBUG_APP_THREADS, G_TYPE_BOOLEAN, NULL, FALSE },
-    { NULL }
-  };
-  static char *name = ZMAPSTANZA_DEBUG_CONFIG;
-  static char *type = ZMAPSTANZA_DEBUG_CONFIG;
-
-  if(stanza_name)
-    *stanza_name = name;
-  if(stanza_type)
-    *stanza_type = type;
-
-  return stanza_keys;
-}
-
-
-
-/* 
- *                 ZMapConfigStyle
- */
-
-
-static gpointer create_config_style()
-{
-  gpointer config_struct = NULL ;
-
-  ZMapKeyValueStruct style_conf[] =
-    {
-      { ZMAPSTYLE_PROPERTY_NAME, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_PARENT_STYLE, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleCreateID} },
-      { ZMAPSTYLE_PROPERTY_DESCRIPTION, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_MODE, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2Mode} },
-
-      { ZMAPSTYLE_PROPERTY_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-      { ZMAPSTYLE_PROPERTY_FRAME0_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-      { ZMAPSTYLE_PROPERTY_FRAME1_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-      { ZMAPSTYLE_PROPERTY_FRAME2_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-      { ZMAPSTYLE_PROPERTY_REV_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_BUMP_MODE, FALSE,  ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2BumpMode} },
-      { ZMAPSTYLE_PROPERTY_DEFAULT_BUMP_MODE, FALSE,  ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2BumpMode} },
-      { ZMAPSTYLE_PROPERTY_BUMP_SPACING, FALSE,  ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_MIN_MAG, FALSE,  ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_MAX_MAG, FALSE,  ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_WIDTH, FALSE,  ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_SCORE_MODE, FALSE,  ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2ScoreMode} },
-      { ZMAPSTYLE_PROPERTY_MIN_SCORE, FALSE,  ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_MAX_SCORE, FALSE,  ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_GFF_SOURCE, FALSE,  ZMAPCONF_STR, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_GFF_FEATURE, FALSE,  ZMAPCONF_STR, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_DISPLAYABLE,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_SHOW_WHEN_EMPTY,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_SHOW_TEXT,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_STRAND_SPECIFIC,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_SHOW_REVERSE_STRAND,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_FRAME_MODE,   FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr23FrameMode} },
-
-      { ZMAPSTYLE_PROPERTY_SHOW_ONLY_IN_SEPARATOR,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_DIRECTIONAL_ENDS,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_DEFERRED,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_LOADED,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_GRAPH_MODE,   FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2GraphMode} },
-      { ZMAPSTYLE_PROPERTY_GRAPH_BASELINE,   FALSE, ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_GLYPH_MODE,   FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2GlyphMode} },
-
-      { ZMAPSTYLE_PROPERTY_ALIGNMENT_PARSE_GAPS,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_ALIGNMENT_SHOW_GAPS,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_ALIGNMENT_PFETCHABLE,   FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_ALIGNMENT_JOIN_ALIGN,   FALSE, ZMAPCONF_INT, {FALSE}, ZMAPCONV_NONE, {NULL} },
-      { ZMAPSTYLE_PROPERTY_ALIGNMENT_PERFECT_COLOURS,   FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-      { ZMAPSTYLE_PROPERTY_ALIGNMENT_COLINEAR_COLOURS,   FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-      { ZMAPSTYLE_PROPERTY_ALIGNMENT_NONCOLINEAR_COLOURS,   FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-
-      { ZMAPSTYLE_PROPERTY_TRANSCRIPT_CDS_COLOURS,  FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} },
-
-      {NULL}
-    } ;
-
-
-  int dummy ;
-
-  dummy = sizeof(style_conf) ;
-
-
-  /* Needs to return a block copy of this.... */
-  config_struct = g_memdup(style_conf, sizeof(style_conf)) ;
-
-
-  return config_struct ;
-}
-
-
-static void free_style_list_item(gpointer list_data, gpointer unused_data) 
-{
-  ZMapKeyValue style_conf = (ZMapKeyValue)list_data ;
-
-  while (style_conf->name != NULL)
-    {
-      switch (style_conf->type)
-	{
-	case ZMAPCONF_STR:
-	  if (style_conf->has_value)
-	    g_free(style_conf->data.str) ;
-	  break ;
-	case ZMAPCONF_STR_ARRAY:
-	  if (style_conf->has_value)
-	    g_strfreev(style_conf->data.str_array) ;
-	  break ;
-	default:
-	  break ;
-	}
-
-      style_conf++ ;
-    }
-
-  g_free(list_data) ;
-
-  return ;
-}
-
-
-/* This might seem a little long winded, but then so is all the gobject gubbins... */
-static ZMapConfigIniContextKeyEntry get_style_group_data(char **stanza_name, char **stanza_type)
-{
-  static char *name = "*";
-  static char *type = ZMAPSTANZA_STYLE_CONFIG;
-  static ZMapConfigIniContextKeyEntryStruct stanza_keys[] = {
-    { ZMAPSTYLE_PROPERTY_NAME, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_DESCRIPTION, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_PARENT_STYLE, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_MODE, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_COLOURS, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_FRAME0_COLOURS, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_FRAME1_COLOURS, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_FRAME2_COLOURS, G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_REV_COLOURS, G_TYPE_STRING, style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_BUMP_MODE, G_TYPE_STRING,  style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_DEFAULT_BUMP_MODE, G_TYPE_STRING,  style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_BUMP_SPACING, G_TYPE_DOUBLE,  style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_MIN_MAG, G_TYPE_DOUBLE,  style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_MAX_MAG, G_TYPE_DOUBLE,  style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_WIDTH, G_TYPE_DOUBLE,  style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_SCORE_MODE, G_TYPE_STRING,  style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_MIN_SCORE, G_TYPE_DOUBLE,  style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_MAX_SCORE, G_TYPE_DOUBLE,  style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_GFF_SOURCE, G_TYPE_STRING,  style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_GFF_FEATURE, G_TYPE_STRING,  style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_DISPLAYABLE,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_SHOW_WHEN_EMPTY,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_SHOW_TEXT,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_STRAND_SPECIFIC ,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_SHOW_REVERSE_STRAND,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_FRAME_MODE,   G_TYPE_STRING, style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_SHOW_ONLY_IN_SEPARATOR,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_DIRECTIONAL_ENDS,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_DEFERRED,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_LOADED,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_GRAPH_MODE,   G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_GRAPH_BASELINE,   G_TYPE_DOUBLE, style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_GLYPH_MODE,   G_TYPE_STRING, style_set_property, FALSE },
-
-
-    { ZMAPSTYLE_PROPERTY_ALIGNMENT_PARSE_GAPS,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_ALIGNMENT_SHOW_GAPS,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_ALIGNMENT_PFETCHABLE,   G_TYPE_BOOLEAN, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_ALIGNMENT_JOIN_ALIGN,   G_TYPE_INT, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_ALIGNMENT_PERFECT_COLOURS,   G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_ALIGNMENT_COLINEAR_COLOURS,   G_TYPE_STRING, style_set_property, FALSE },
-    { ZMAPSTYLE_PROPERTY_ALIGNMENT_NONCOLINEAR_COLOURS,   G_TYPE_STRING, style_set_property, FALSE },
-
-    { ZMAPSTYLE_PROPERTY_TRANSCRIPT_CDS_COLOURS,  G_TYPE_STRING, style_set_property, FALSE },
-
-
-    {NULL}
-  };
-
-
-  if(stanza_name)
-    *stanza_name = name;
-  if(stanza_type)
-    *stanza_type = type;
-
-  return stanza_keys;
-}
-
-
-/* We can be called with key == NULL if the stanza is empty. */
-static void style_set_property(char *current_stanza_name, char *key, GType type,
-			       gpointer parent_data, GValue *property_value)
-{
-  ZMapKeyValue config_style = (ZMapKeyValue)parent_data ;
-
-  /* Odd case, name of style is actually name of stanza so must record separately like this. */
-  if (g_ascii_strcasecmp(config_style->name, ZMAPSTYLE_PROPERTY_NAME) == 0 && !(config_style->has_value))
-    {
-      config_style->has_value = TRUE ;
-      config_style->data.str = g_strdup(current_stanza_name) ;
-    }
-
-
-  if (key && *key)
-    {
-      ZMapKeyValue curr_key = config_style ;
-
-      while (curr_key->name)
-	{
-	  if (g_ascii_strcasecmp(key, curr_key->name) == 0)
-	    {
-	      curr_key->has_value = TRUE ;
-
-	      if (type == G_TYPE_BOOLEAN && G_VALUE_TYPE(property_value) == type)
-		curr_key->data.b = g_value_get_boolean(property_value) ;
-	      else if (type == G_TYPE_INT && G_VALUE_TYPE(property_value) == type)
-		curr_key->data.i = g_value_get_int(property_value);
-	      else if (type == G_TYPE_DOUBLE && G_VALUE_TYPE(property_value) == type)
-		curr_key->data.d = g_value_get_double(property_value);
-	      else if (type == G_TYPE_STRING && G_VALUE_TYPE(property_value) == type)
-		curr_key->data.str = (char *)g_value_get_string(property_value);
-	      else if (type == G_TYPE_POINTER && G_VALUE_TYPE(property_value) == type)
-		curr_key->data.str_array = (char **)g_value_get_pointer(property_value);
-
-	      break ;
-	    }
-	  else
-	    {
-	      curr_key++ ;
-	    }
-	}
-    }
-
-  return ;
-}
-
-
-
-
-
-/* 
- * ZMapConfigSource
- */
-
-static gpointer create_config_source()
-{
-  return g_new0(ZMapConfigSourceStruct, 1);
-}
-
-static void free_source_list_item(gpointer list_data, gpointer unused_data) 
-{
-  ZMapConfigSource source_to_free = (ZMapConfigSource)list_data;
-
-  if(source_to_free->url)
-    g_free(source_to_free->url);
-  if(source_to_free->version)
-    g_free(source_to_free->version);
-  if(source_to_free->featuresets)
-    g_free(source_to_free->featuresets);
-  if(source_to_free->navigatorsets)
-    g_free(source_to_free->navigatorsets);
-  if(source_to_free->stylesfile)
-    g_free(source_to_free->stylesfile);
-  if(source_to_free->styles_list)
-    g_free(source_to_free->styles_list);
-  if(source_to_free->format)
-    g_free(source_to_free->format);
-
-  return ;
-}
-
-
-/* This might seem a little long winded, but then so is all the gobject gubbins... */
-static ZMapConfigIniContextKeyEntry get_source_group_data(char **stanza_name, char **stanza_type)
-{
-  static ZMapConfigIniContextKeyEntryStruct stanza_keys[] = {
-    { ZMAPSTANZA_SOURCE_URL,           G_TYPE_STRING,  source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_TIMEOUT,       G_TYPE_INT,     source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_VERSION,       G_TYPE_STRING,  source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_FEATURESETS,   G_TYPE_STRING,  source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_STYLESFILE,    G_TYPE_STRING,  source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_STYLES,        G_TYPE_STRING,  source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_NAVIGATORSETS, G_TYPE_STRING,  source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_SEQUENCE,      G_TYPE_BOOLEAN, source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_WRITEBACK,     G_TYPE_BOOLEAN, source_set_property, FALSE },
-    { ZMAPSTANZA_SOURCE_FORMAT,        G_TYPE_STRING,  source_set_property, FALSE },
-    {NULL}
-  };
-
-  static char *name = "*";
-  static char *type = ZMAPSTANZA_SOURCE_CONFIG;
-
-  if(stanza_name)
-    *stanza_name = name;
-  if(stanza_type)
-    *stanza_type = type;
-
-  return stanza_keys;
-}
-
-
-static void source_set_property(char *current_stanza_name, char *key, GType type,
-				gpointer parent_data, GValue *property_value)
-{
-  ZMapConfigSource config_source = (ZMapConfigSource)parent_data ;
-  gboolean *bool_ptr ;
-  int *int_ptr ;
-  double *double_ptr ;
-  char **str_ptr ;
-
-  if (key && *key)
-    {
-      if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_URL) == 0)
-	str_ptr = &(config_source->url) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_VERSION) == 0)
-	str_ptr = &(config_source->version) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_FEATURESETS) == 0)
-	str_ptr = &(config_source->featuresets) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_STYLESFILE) == 0)
-	str_ptr = &(config_source->stylesfile) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_STYLES) == 0)
-	str_ptr = &(config_source->styles_list) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_NAVIGATORSETS) == 0)
-	str_ptr = &(config_source->navigatorsets) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_TIMEOUT) == 0)
-	int_ptr = &(config_source->timeout) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_SEQUENCE) == 0)
-	bool_ptr = &(config_source->sequence) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_WRITEBACK) == 0)
-	bool_ptr = &(config_source->writeback) ;
-      else if (g_ascii_strcasecmp(key, ZMAPSTANZA_SOURCE_FORMAT) == 0)
-	str_ptr = &(config_source->format) ;
-
-      if (type == G_TYPE_BOOLEAN && G_VALUE_TYPE(property_value) == type)
-	*bool_ptr = g_value_get_boolean(property_value);
-      else if (type == G_TYPE_INT && G_VALUE_TYPE(property_value) == type)
-	*int_ptr = g_value_get_int(property_value);
-      else if (type == G_TYPE_DOUBLE && G_VALUE_TYPE(property_value) == type)
-	*double_ptr = g_value_get_double(property_value);
-      else if (type == G_TYPE_STRING && G_VALUE_TYPE(property_value) == type)
-	*str_ptr = (char *)g_value_get_string(property_value);
-    }
-
-  return ;
-}
-
-
-
-/* ZMapWindow */
-
-static ZMapConfigIniContextKeyEntry get_window_group_data(char **stanza_name, char **stanza_type)
-{
-  static ZMapConfigIniContextKeyEntryStruct stanza_keys[] = {
-    { ZMAPSTANZA_WINDOW_MAXSIZE,      G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_MAXBASES,     G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_COLUMNS,      G_TYPE_BOOLEAN, NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_FWD_COORDS,   G_TYPE_BOOLEAN, NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_SHOW_3F_REV,  G_TYPE_BOOLEAN, NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_A_SPACING,    G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_B_SPACING,    G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_S_SPACING,    G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_C_SPACING,    G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_F_SPACING,    G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_LINE_WIDTH,   G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_ROOT,         G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_ALIGNMENT,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_BLOCK,        G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_M_FORWARD,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_M_REVERSE,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_Q_FORWARD,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_Q_REVERSE,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_M_FORWARDCOL, G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_M_REVERSECOL, G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_Q_FORWARDCOL, G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_Q_REVERSECOL, G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_COL_HIGH,     G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_SEPARATOR,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_COL_HIGH,     G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_ITEM_MARK,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_ITEM_HIGH,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_FRAME_0,      G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_FRAME_1,      G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_WINDOW_FRAME_2,      G_TYPE_STRING,  NULL, FALSE },
-    { NULL }
-  };
-  static char *name = ZMAPSTANZA_WINDOW_CONFIG;
-  static char *type = ZMAPSTANZA_WINDOW_CONFIG;
-
-  if(stanza_name)
-    *stanza_name = name;
-  if(stanza_type)
-    *stanza_type = type;
-
-  return stanza_keys;
-}
-
-
-
-static ZMapConfigIniContextKeyEntry get_blixem_group_data(char **stanza_name, char **stanza_type)
-{
-  static ZMapConfigIniContextKeyEntryStruct stanza_keys[] = {
-    { ZMAPSTANZA_BLIXEM_NETID,      G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_PORT,       G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_SCRIPT,     G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_CONF_FILE,  G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_SCOPE,      G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_MAX,        G_TYPE_INT,     NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_KEEP_TEMP,  G_TYPE_BOOLEAN, NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_KILL_EXIT,  G_TYPE_BOOLEAN, NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_DNA_FS,     G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_PROT_FS,    G_TYPE_STRING,  NULL, FALSE },
-    { ZMAPSTANZA_BLIXEM_TRANS_FS,   G_TYPE_STRING,  NULL, FALSE },
-    { NULL }
-  };
-  static char *name = ZMAPSTANZA_BLIXEM_CONFIG;
-  static char *type = ZMAPSTANZA_BLIXEM_CONFIG;
-
-  if(stanza_name)
-    *stanza_name = name;
-  if(stanza_type)
-    *stanza_type = type;
-
-  return stanza_keys;
-}
-
-