add license, issue #1
make the generic namenumxer public and rename it so that other packages can extend it