combine execute and compile into one package