diff --git a/src/zmapServer/das/README b/src/zmapServer/das/README
index 208a0384728e2c2989a727ee7c7b0358f79737f0..a05505da4135b3ff047feb17beee9fe248d82e14 100755
--- a/src/zmapServer/das/README
+++ b/src/zmapServer/das/README
@@ -19,3 +19,71 @@ For example to get a list of types of data you could issue this request:
 
 	http://dev.acedb.org/das/wormbase/1/type
 
+
+
+
+Some example queries and their replies:
+
+
+http://dev.wormbase.org/das/wormbase/1/feature/processed_transcript:curated/CDS:2L52.1?format=gff
+
+
+<?xml version="1.0" standalone="yes"?>
+
+<FEATURELIST
+      xmlns="http://www.biodas.org/ns/das/2.00"
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xml:base="http://dev.wormbase.org/das/wormbase/1/feature/"
+      format="gff">
+II	curated	processed_transcript	1867	4663	.	+	.	ID=CDS:2L52.1;Note=Zinc+finger%2C+C2H2+type;Note=Zinc+finger%2C+C2H2+type;Gene=WBGene00007063;link=http%3A%2F%2Flocalhost%2Fdb%2Fget%3Fname%3D2L52.1%3Bclass%3DCDS
+II	curated	coding_exon	1867	1911	.	+	0	Parent=CDS:2L52.1
+II	curated	coding_exon	2506	2694	.	+	0	Parent=CDS:2L52.1
+II	curated	coding_exon	2738	2888	.	+	0	Parent=CDS:2L52.1
+II	curated	coding_exon	2931	3036	.	+	2	Parent=CDS:2L52.1
+II	curated	coding_exon	3406	3552	.	+	1	Parent=CDS:2L52.1
+II	curated	coding_exon	3802	3984	.	+	1	Parent=CDS:2L52.1
+II	curated	coding_exon	4201	4663	.	+	1	Parent=CDS:2L52.1
+</FEATURELIST>
+
+
+
+http://dev.wormbase.org/das/wormbase/1/feature/processed_transcript:curated/CDS:2L52.1?format=gff3
+
+<?xml version="1.0" standalone="yes"?>
+
+<FEATURELIST
+      xmlns="http://www.biodas.org/ns/das/2.00"
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xml:base="http://dev.wormbase.org/das/wormbase/1/feature/"
+      format="gff3">
+II	curated	processed_transcript	1867	4663	.	+	.	ID=CDS:2L52.1;Note=Zinc+finger%2C+C2H2+type;Note=Zinc+finger%2C+C2H2+type;Gene=WBGene00007063;link=http%3A%2F%2Flocalhost%2Fdb%2Fget%3Fname%3D2L52.1%3Bclass%3DCDS
+II	curated	coding_exon	1867	1911	.	+	0	Parent=CDS:2L52.1
+II	curated	coding_exon	2506	2694	.	+	0	Parent=CDS:2L52.1
+II	curated	coding_exon	2738	2888	.	+	0	Parent=CDS:2L52.1
+II	curated	coding_exon	2931	3036	.	+	2	Parent=CDS:2L52.1
+II	curated	coding_exon	3406	3552	.	+	1	Parent=CDS:2L52.1
+II	curated	coding_exon	3802	3984	.	+	1	Parent=CDS:2L52.1
+II	curated	coding_exon	4201	4663	.	+	1	Parent=CDS:2L52.1
+</FEATURELIST>
+
+
+
+
+
+http://dev.wormbase.org/das/wormbase/1/feature/processed_transcript:curated/CDS:B0250.1?format=gff
+
+
+<?xml version="1.0" standalone="yes"?>
+
+<FEATURELIST
+      xmlns="http://www.biodas.org/ns/das/2.00"
+      xmlns:xlink="http://www.w3.org/1999/xlink"
+      xml:base="http://dev.wormbase.org/das/wormbase/1/feature/"
+      format="gff">
+V	curated	processed_transcript	20477735	20478859	.	+	.	ID=CDS:B0250.1;Note=Ribosomal+Proteins+L2;Note=rpl-2;Note=Ribosomal+Proteins+L2;Note=rpl-2;Confirmed_by=EST;Confirmed_by=EST;Gene=WBGene00004413;link=http%3A%2F%2Flocalhost%2Fdb%2Fget%3Fname%3DB0250.1%3Bclass%3DCDS
+V	curated	3_UTR	20478811	20478859	.	+	.	Parent=CDS:B0250.1
+V	curated	5_UTR	20477735	20477745	.	+	.	Parent=CDS:B0250.1
+V	curated	coding_exon	20477746	20478025	.	+	0	Parent=CDS:B0250.1
+V	curated	coding_exon	20478252	20478362	.	+	2	Parent=CDS:B0250.1
+V	curated	coding_exon	20478419	20478810	.	+	2	Parent=CDS:B0250.1
+</FEATURELIST>
diff --git a/src/zmapServer/das/dasServer_P.h b/src/zmapServer/das/dasServer_P.h
index 47687e4349047f54b40e058dd17e3382bf3645e8..320d021f9d377428a4aab747546d4a746a7691a0 100755
--- a/src/zmapServer/das/dasServer_P.h
+++ b/src/zmapServer/das/dasServer_P.h
@@ -24,9 +24,9 @@
  *
  * Description: 
  * HISTORY:
- * Last edited: Mar 19 10:27 2004 (edgrif)
+ * Last edited: Jul  2 10:40 2004 (edgrif)
  * Created: Thu Mar 18 12:02:52 2004 (edgrif)
- * CVS info:   $Id: dasServer_P.h,v 1.1 2004-03-22 13:45:20 edgrif Exp $
+ * CVS info:   $Id: dasServer_P.h,v 1.2 2004-07-19 10:13:36 edgrif Exp $
  *-------------------------------------------------------------------
  */
 #ifndef DAS_SERVER_P_H
@@ -57,6 +57,10 @@ typedef struct _DasServerStruct
   char *last_errmsg ;					    /* The general das msg stuf, could be
 							       curl could be my code. */
 
+  /* this will not stay like this, it should more properly be a union of types of data that might
+   * be returned.... */
+  void *data ;
+
 } DasServerStruct, *DasServer ;
 
 
diff --git a/src/zmapServer/das/saxparse.h b/src/zmapServer/das/saxparse.h
index 84209991233f39622530c74f2d2d5fe5e1d7a985..7ac418a7fd8ac6de3184388f8277091ee45b181e 100755
--- a/src/zmapServer/das/saxparse.h
+++ b/src/zmapServer/das/saxparse.h
@@ -24,9 +24,9 @@
  *
  * Description: 
  * HISTORY:
- * Last edited: Mar 18 15:29 2004 (edgrif)
+ * Last edited: Jul  2 09:32 2004 (edgrif)
  * Created: Wed Jan 28 16:17:58 2004 (edgrif)
- * CVS info:   $Id: saxparse.h,v 1.1 2004-03-22 13:45:20 edgrif Exp $
+ * CVS info:   $Id: saxparse.h,v 1.2 2004-07-19 10:13:36 edgrif Exp $
  *-------------------------------------------------------------------
  */
 #ifndef SAXPARSE_H
@@ -36,7 +36,7 @@
 
 typedef struct SaxParserStructName *SaxParser ;
 
-SaxParser saxCreateParser(void) ;
+SaxParser saxCreateParser(void *user_data) ;
 
 gboolean saxParseData(SaxParser parser, void *data, int size) ;
 
diff --git a/src/zmapServer/das/saxparse_P.h b/src/zmapServer/das/saxparse_P.h
index 3decf168f65275766e7cb06e7d9ac88bc116a476..013da0d586c6ee54f0e013a11658a4e4ac30cdcf 100755
--- a/src/zmapServer/das/saxparse_P.h
+++ b/src/zmapServer/das/saxparse_P.h
@@ -24,9 +24,9 @@
  *
  * Description: 
  * HISTORY:
- * Last edited: Mar 19 09:30 2004 (edgrif)
+ * Last edited: Jul  2 14:55 2004 (edgrif)
  * Created: Wed Jan 28 16:17:58 2004 (edgrif)
- * CVS info:   $Id: saxparse_P.h,v 1.1 2004-03-22 13:45:20 edgrif Exp $
+ * CVS info:   $Id: saxparse_P.h,v 1.2 2004-07-19 10:13:36 edgrif Exp $
  *-------------------------------------------------------------------
  */
 #ifndef SAXPARSE_P_H
@@ -37,13 +37,30 @@
 typedef enum {SAXPARSE_NOWHERE, SAXPARSE_STARTDOC,
 	      SAXPARSE_START, SAXPARSE_INSIDE, SAXPARSE_END, SAXPARSE_ENDDOC} SaxParseState ;
 
+/* For an XML tag holds the element name and attributes, i.e.   <element_name attributes>
+ * Used to track which tag we are processing. */
+typedef struct SaxTagStructName
+{
+  char *element_name ;
+
+  char **attributes ;
+} SaxTagStruct, *SaxTag ;
+
+
 typedef struct SaxParserStructName
 {
   XML_Parser p ;
-  GQueue *tag_stack ;
+  gboolean debug ;
+
+  GQueue *tag_stack ;					    /* Stack of SaxTagStruct */
   int Depth ;
+
   GString *content ;
+
   char *last_errmsg ;
+
+  void *user_data ;					    /* Caller stores any data they need here. */
+
 } SaxParserStruct ;