pass compiling phase