use executor.exec