rearrange, and use custom toolchain