Index: trunk/DataStore/lib/DataStore.pm
===================================================================
--- trunk/DataStore/lib/DataStore.pm	(revision 6602)
+++ trunk/DataStore/lib/DataStore.pm	(revision 6603)
@@ -1,5 +1,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: DataStore.pm,v 1.1 2006-03-16 20:56:41 jhoblitt Exp $
+# $Id: DataStore.pm,v 1.2 2006-03-16 21:44:57 jhoblitt Exp $
 
 package DataStore;
@@ -33,6 +33,7 @@
 
 This is a convenience module so that that don't have to individualy load (C<use
-...;>) all of the common DataStore inteface modules.  Please see the
-POD of the individual modules for usage information.
+...;>) all of the common DataStore inteface modules.  Please see the POD of the
+individual modules for usage information.  If this is your browsing of the
+documentation you may want to start with L<DataStore::Product>.
 
 =head1 USAGE
@@ -46,4 +47,60 @@
 
 None.
+
+=head1 EXAMPLE PROGRAM
+
+    #!/usr/bin/perl
+
+    use strict;
+    use warnings;
+
+    # loads DataStore::*
+    use DataStore;
+
+    my $dsp = DataStore::Product->new(
+        uri => 'http://example.org/productid/',
+        last_fileset => 'foobarbaz',
+    );
+
+    # returns a DataStore::Response object
+    my $response = $dsp->request;
+
+    unless ($response->is_success) {
+        die $response->status;
+    }
+
+    # arrayref of DataStore::FileSet objects
+    my $filesets = $response->data;
+
+    # the query could be a success but still return no filesets
+    unless ($filesets) {
+        warn "no filesets returned";
+        exit(0);
+    }
+
+    # returns a DataStore::Response object
+    my $response2 = @$filesets[0]->request;
+
+    unless ($response2->is_success) {
+        die $response2->status;
+    }
+
+    # arrayref of DataStore::File objects
+    my $files = $response->data;
+
+    # the query could be a success but still return no files (is that legal?)
+    unless (@$files) {
+        warn "no files returned";
+        exit(0);
+    }
+
+    # requires a filename
+    my $response3 = @$files[0]->request( filename => '/dev/null' );
+    unless ($response3->is_success) {
+        warn $response3->status;
+        die;
+    }
+
+    # $response3->data is '/dev/null'
 
 =cut
