optimize compilation time