--- /dev/null
+package NCIP::Configuration;
+#
+#===============================================================================
+#
+# FILE: Configuration.pm
+#
+# DESCRIPTION:
+#
+# FILES: ---
+# BUGS: ---
+# NOTES: ---
+# AUTHOR: Chris Cormack (rangi), chrisc@catalyst.net.nz
+# ORGANIZATION: Koha Development Team
+# VERSION: 1.0
+# CREATED: 28/08/13 10:16:55
+# REVISION: ---
+#===============================================================================
+
+=head1 NAME
+
+ NCIP::Configuration
+
+=head1 SYNOPSIS
+
+ use NCIP::Configuration;
+ my $config = NCIP::Configuration->new($config_dir);
+
+=cut
+
+use Modern::Perl;
+
+use base qw(Config::Merge);
+
+1;
+
--- /dev/null
+#
+#===============================================================================
+#
+# FILE: NCIP_Configuration.t
+#
+# DESCRIPTION:
+#
+# FILES: ---
+# BUGS: ---
+# NOTES: ---
+# AUTHOR: Chris Cormack (rangi), chrisc@catalyst.net.nz
+# ORGANIZATION: Koha Development Team
+# VERSION: 1.0
+# CREATED: 28/08/13 10:35:44
+# REVISION: ---
+#===============================================================================
+
+use strict;
+use warnings;
+
+use Test::More tests => 4; # last test to print
+
+use_ok('NCIP::Configuration');
+
+ok( my $config = NCIP::Configuration->new('../t/config_sample'),
+ 'Creating a config object' );
+
+# because the file is called NCIP.xml we now have that namespace
+ok( my $server_params = $config->('NCIP.server-params'), 'Get server-params' );
+
+is( $server_params->{'min_servers'}, 1, 'Do we have a minimum of one server' );
+
--- /dev/null
+<acsconfig xmlns="http://openncip.org/acs-config/1.0/">
+ <error-detect enabled="true" />
+
+ <server-params
+ min_servers='1'
+ min_spare_servers='0'
+ log_file='Sys::Syslog'
+ syslog_ident='ncip_server'
+ syslog_facility='local6'
+ />
+
+ <listeners>
+ </listeners>
+
+ <agencies>
+ </agencies>
+
+ <profile>
+ </profile>
+
+ <version>
+ </version>
+
+</acsconfig>