switching compile order