main build script