executor is now static (reused across multiple runs within same process)