fix compile_file
new version