refactored construction of toolchain objects