more changes in support of async IO