Initial release with tests, etc