Why do these need to be async?