Reworked async