Initial commit of the module and test suite