add prerequisites for async IO