change compile method