prepare to compile