async butterfly