run through async