Setup project

Still needs tests, CI configuration, and documentation