async -> defer