pre-compile program