extract methods for compilation steps