prepare for compilation