fix async so that it can run parallel