changed compile order