Start changing logic to support async execution