add a build script and tests