messy running async loading