moving toward block-based asynchronous request handling