organizing the build system