build system overhaul