pulled out the compilation check into its own run function