improve on the build system