rearranged build system