supprot diff build types