ready for CPAN inclusion