async main style - hopefully it works