 Basic/Lite.pm        | 20 ++++++++++++++------
 t/lite_loads_twice.t | 28 ++++++++++++++++++++++++++++
 2 files changed, 42 insertions(+), 6 deletions(-)

diff --git a/Basic/Lite.pm b/Basic/Lite.pm
index 8e6929f..f2c1d1e 100644
--- a/Basic/Lite.pm
+++ b/Basic/Lite.pm
@@ -5,14 +5,14 @@ PDL::Lite - minimum PDL module OO loader
 =head1 DESCRIPTION
 
 Loads the smallest possible set of modules for
-PDL to work, without importing an functions in
-to the current namespace. This is the absolute
-minimum set for PDL.
+PDL to work, importing only those functions always defined by
+L<PDL::Core|PDL::Core>) into the current namespace
+(C<pdl>, C<piddle>, C<barf> and C<null>).
+This is the absolute minimum set for PDL.
 
-Although no functions are defined (apart from
-a few always exported by L<PDL::Core|PDL::Core>) you can still
-use method syntax, viz:
+Access to other functions is by method syntax, viz:
 
+  $x = PDL->pdl(1, 2, 3, 4, 5);
   $x->wibble(42);
 
 =head1 SYNOPSIS
@@ -48,6 +48,14 @@ use PDL::Lvalue;
 package PDL::Lite;
 $VERSION = $PDL::Version::VERSION;
 
+@ISA = qw( PDL::Exporter );
+
+@EXPORT = qw( piddle pdl null barf ); # Only stuff always exported!
+our %EXPORT_TAGS = (
+   Func     => [@EXPORT],
+);
+
+
 ;# Exit with OK status
 
 1;
diff --git a/t/lite_loads_twice.t b/t/lite_loads_twice.t
new file mode 100644
index 0000000..49085ad
--- /dev/null
+++ b/t/lite_loads_twice.t
@@ -0,0 +1,28 @@
+#  Can PDL::Lite be loaded twice?
+#  The first import was interfering with the second.  
+
+use Test::More tests => 10;
+
+{
+    package mk1;
+    use PDL::Lite;
+
+    sub x {
+        return PDL->pdl (1..10);
+    }
+}
+
+{
+    package mk2;
+    use PDL::Lite;
+
+    sub x {
+        return PDL->pdl (11..20);
+    }
+}
+
+foreach my $name (qw /x barf pdl piddle null/) {
+    ok (mk1->can($name), "Sub loaded: mk1::" . $name);
+    ok (mk2->can($name), "Sub loaded: mk2::" . $name);
+}
+
